- ASP.NET Core 2 High Performance(Second Edition)
- James Singleton
- 255字
- 2021-07-08 09:38:59
Tuples
One of the big new features in C# 7 is support for tuples. Tuples are groups of values, and you can now return them directly from method calls. You are no longer restricted to returning a single value. Previously, you could work around this limitation in a few suboptimal ways, including creating a custom complex object to return, perhaps with a Plain Old C# Object (POCO) or Data Transfer Object (DTO), which are the same thing. You could have also passed in a reference using the ref or out keyword, which are still not great although there are improvements to the syntax.
There was System.Tuple in C# 6, but it wasn't ideal. It was a framework feature, rather than a language feature, and the items were only numbered and not named. With C# 7 tuples, you can name the objects and they make a great alternative to anonymous types, particularly in LINQ query expression lambda functions. As an example, if you only want to work on a subset of the data available, perhaps when filtering a database table with an O/RM, such as Entity Framework, then you could use a tuple for this.
The following example returns a tuple from a method. You may need to add the System.ValueTuple NuGet package for this to work:
private static (int one, string two, DateTime three) GetTuple()
{
return (one: 1, two: "too", three: DateTime.UtcNow);
}
You can also use tuples in string interpolation and all the values will be rendered, as shown here:
Console.WriteLine($"Tuple = {GetTuple()}");
- Python數(shù)據(jù)分析入門(mén)與實(shí)戰(zhàn)
- Instant Zepto.js
- C語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn)教程
- PHP網(wǎng)絡(luò)編程學(xué)習(xí)筆記
- Apex Design Patterns
- Learning Network Forensics
- ASP.NET Core 2 Fundamentals
- Mastering Git
- 實(shí)戰(zhàn)Java高并發(fā)程序設(shè)計(jì)(第2版)
- Learning Nessus for Penetration Testing
- Learning C++ by Creating Games with UE4
- 數(shù)據(jù)結(jié)構(gòu):Python語(yǔ)言描述
- Less Web Development Cookbook
- HikariCP數(shù)據(jù)庫(kù)連接池實(shí)戰(zhàn)
- Splunk Developer's Guide(Second Edition)