Skip to content

Instantly share code, notes, and snippets.

@NineMvp
Last active December 24, 2016 17:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save NineMvp/910281c19d76ecf69c0c0ea250782857 to your computer and use it in GitHub Desktop.
Save NineMvp/910281c19d76ecf69c0c0ea250782857 to your computer and use it in GitHub Desktop.
New Tuple
//Old way to create new Tuple object
var tp1 = Tuple.Create<string, string, int>("Noppon", "DevRock", 26);
Console.WriteLine($" tp1 FName={tp1.Item1}, LName={tp1.Item2}, Age={tp1.Item3}");
//New in C#7.0
var newTuple = ("Noppon", "DevRock", 26);
Console.WriteLine($" newTuple FName={newTuple.Item1}, LName={newTuple.Item2}, Age={newTuple.Item3}");
//Tuple Literals
var newTupleLiterals = (fname: "Noppon", lname: "DevRock", age: 26);
Console.WriteLine($" newTupleLiterals FName={newTupleLiterals.fname}, LName={newTupleLiterals.lname}, Age={newTupleLiterals.age}");
//Deconstructions
//local function
(string, string, int) createMember(string fName, string lName, int Age) => (fName, lName, Age);
//use varriable
var member = createMember("Noppon", "DevRock", 26);
Console.WriteLine($" member FName={member.Item1}, LName={member.Item2}, Age={member.Item3}");
//decontruction tuple object to variables
var (fname, lname, age) = createMember("Noppon", "DevRock", 26);
Console.WriteLine($" deconstruction FName={fname}, LName={lname}, Age={age}");
//reassign value
(fname, lname, age) = createMember("NopponX", "DevRockX", 26+1);
Console.WriteLine($" deconstruction reassign FName={fname}, LName={lname}, Age={age}");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment