C# 7.1 - Tuple Name Inference
نویسنده: وحید نصیری
تاریخ: ۱۳۹۶/۰۷/۰۶ ۱۱:۲۵
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
string name = "User 1"; int age = 20; var personTuple = (name, age); Console.WriteLine(personTuple.Item1); // User 1 Console.WriteLine(personTuple.Item2); // 20
string name = "User 1"; int age = 20; var personTuple = (name: name, age:age); Console.WriteLine(personTuple.name); // User 1 Console.WriteLine(personTuple.age); // 20
string name = "User 1"; int age = 20; var personTuple = (name, age); Console.WriteLine(personTuple.name); // User 1 Console.WriteLine(personTuple.age); // 20
var p = new Person
{
Name = "User 1",
Age = 20
};
var personTuple = (p.Name, p.Age);
Console.WriteLine(personTuple.Name);
Console.WriteLine(personTuple.Age); Person p = null; var personTuple = (p?.Name, p?.Age); Console.WriteLine(personTuple.Name); // null Console.WriteLine(personTuple.Age); // null
var people = new List<Person>
{
new Person {Name = "User 1", Age = 42},
new Person {Name = "User 2", Age = 18},
new Person {Name = "User 3", Age = 21}
};
var tuples = people
.Select(person =>
(
person.Name,
person.Age,
NameAndAge: $"{person.Name} is {person.Age}"
)
);
var name = tuples.First().Name;
var age = tuples.First().Age;
var nameAndAge = tuples.First().NameAndAge; int age = 42; var personTuple = (FirstName(), age); Console.WriteLine(personTuple.Item1); Console.WriteLine(personTuple.age);
var p1 = new Person
{
Name = "User 1",
Age = 20
};
var p2 = new Person
{
Name = "User 2",
Age = 22
};
var personTuple = (p1.Name, p2.Name);
Console.WriteLine(personTuple.Item1); // User 1
Console.WriteLine(personTuple.Item2); // User 2 public static void Main()
{
var li = Enumerable.Range(1, 10).ToList();
var sb = new StringBuilder();
//for (int i=0,j=1;;)
//در اینجا میشه نوعهای متفاوتی تعریف کرد
for ( (int i, bool first) = (0, true); i < li.Count; i++, first = false)
{
if (!first)
sb.Append(", ");
sb.Append(li[i]);
}
Console.WriteLine(sb.ToString());
} public void Swap()
{
int x = 5;
int y = 50;
(x, y) = (y, x);
}