- 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()}");
- Android Wearable Programming
- 新編Visual Basic程序設(shè)計上機實驗教程
- 深入理解Bootstrap
- Mastering Adobe Captivate 2017(Fourth Edition)
- Python Game Programming By Example
- Learning Informatica PowerCenter 10.x(Second Edition)
- Learn Scala Programming
- 游戲程序設(shè)計教程
- Python機器學習經(jīng)典實例
- PostgreSQL Replication(Second Edition)
- Angular開發(fā)入門與實戰(zhàn)
- ArcPy and ArcGIS(Second Edition)
- HikariCP數(shù)據(jù)庫連接池實戰(zhàn)
- Swift 2 Design Patterns
- Learning NHibernate 4