Skip to main content

20. Tuples in C#

Level: Beginner

ℹ️ What You'll Learn
  • What a tuple is
  • Create a named tuple
  • Return more than one value from a method
  • Read tuple values by name
  • Know when to use a class instead
  • Use tuples in School Management examples

A tuple groups a few values together without creating a class.

Use a tuple when you need a small temporary result.

Example:

Percentage, Grade, Passed

These three values can come back from one method.

The Problem: One Method Needs to Return Multiple Values

A method normally returns one value.

But grade calculation may need to return:

  • Percentage
  • Grade
  • Pass/fail result

A tuple can return all three.

Quick Definitions

  • Tuple - Small group of values
  • Named tuple - Tuple values with names
  • Return value - Value sent back by a method
  • Deconstruction - Splitting tuple values into variables
  • Temporary data - Data used for a short time

Step 1: Create a Named Tuple

(string Name, int Marks) result = ("Sahasra", 87);

Console.WriteLine(result.Name);
Console.WriteLine(result.Marks);

Output:

Sahasra
87

Step 2: Return Tuple from Method

static (double Percentage, string Grade, bool Passed) GetResult(int totalMarks)
{
double percentage = (double)totalMarks / 500 * 100;
string grade = percentage >= 80 ? "A" : "B";
bool passed = percentage >= 35;

return (percentage, grade, passed);
}

Full Example: Student Result Tuple

💻 Try It — Console App
💡 Paste into Program.cs and press F5⌥ GitHub
static (double Percentage, string Grade, bool Passed) GetResult(int totalMarks)
{
double percentage = (double)totalMarks / 500 * 100;

string grade;

if (percentage >= 90)
{
grade = "A+";
}
else if (percentage >= 80)
{
grade = "A";
}
else if (percentage >= 70)
{
grade = "B";
}
else if (percentage >= 35)
{
grade = "C";
}
else
{
grade = "F";
}

bool passed = percentage >= 35;

return (percentage, grade, passed);
}

var result = GetResult(424);

Console.WriteLine($"Percentage: {result.Percentage}");
Console.WriteLine($"Grade: {result.Grade}");
Console.WriteLine($"Passed: {result.Passed}");

Expected output:

Percentage: 84.8
Grade: A
Passed: True

Tuple vs Class

UseChoose
Small temporary resultTuple
Data used many placesClass
Needs methods and validationClass
Only returning 2 or 3 valuesTuple

Beginner rule:

Use tuple for small method results.
Use class for real project data.

When You'll Use This in SMS

Tuples can help with small calculations:

GetResult() -> Percentage, Grade, Passed
GetFeeSummary() -> PaidAmount, Balance
GetAttendanceSummary() -> PresentDays, AbsentDays

For full records, use classes:

  • Student
  • Teacher
  • FeeAccount
  • ReportCard

Try This Now

Run the full example. Then experiment:

  1. Change total marks to 300
  2. Change total marks to 150
  3. Add one more returned value: Remarks
  4. Print all values

ℹ️ Video Tutorial

C# tuples video coming soon on NexCoding YouTube. Subscribe for updates.


Common Mistakes

Mistake 1: Using tuple for big data

Use a class if the data is important and used often.

Mistake 2: Returning too many values

If a tuple has many values, create a class instead.

Mistake 3: Not naming tuple values

Named tuple values are easier to understand.

Practice Task

Create a method named GetFeeSummary.

It should return:

  • TotalFees
  • PaidAmount
  • Balance

Print all three values.

Quick Revision

QuestionAnswer
What is a tuple?Small group of values
Why use tuple?Return multiple small values
What is better for full records?Class
Should tuple values be named?Yes
Good tuple example?Percentage, Grade, Passed

🎯 Q1: What is a tuple in C#?

A tuple is a small group of values stored together.

🎯 Q2: When should we use tuple?

Use a tuple for small temporary results, especially when a method returns two or three values.

🎯 Q3: When should we use class instead?

Use a class when the data is important, reused, or needs methods and validation.


🤖Use AI to Learn Faster
⚠️ Important for beginners: Do NOT use AI to write your code yet. Type every example yourself. Your brain learns by doing, not by reading AI output. Use AI only to explain and quiz you — not to code for you. Once you have strong fundamentals, AI becomes a powerful productivity tool for repetitive tasks.

Use ChatGPT, Claude, or Copilot to go deeper on C# tuples. Try these prompts:

  • "Explain tuples like I am a beginner"
  • "Give me 5 tuple practice tasks"
  • "Explain tuple vs class with school examples"
  • "Quiz me with 5 beginner questions about tuples"

💡 Tip: After reading this article, paste your own code into AI and ask "What could go wrong here and why?" — fastest way to find edge cases and deepen understanding.

Next Article

Extension Methods ->

nexcoding.in