在 C# 中,元组和值元组都用于在单个变量中存储多个值。但它们在语法、功能和性能方面存在一些关键差异。
一.Tuples(元组)
元组是一种引用类型,长期以来一直是 .NET 的一部分。它们是使用 System.Tuple 类创建的。
例子
using System;
class Program
{
static void Main()
{
// 创建一个 Tuple 元组
Tuple<int, string, bool> tupleExample = new Tuple<int, string, bool>(1, "Hello", true);
// 访问 Tuple 元素
Console.WriteLine($"Item1: {tupleExample.Item1}, Item2: {tupleExample.Item2}, Item3: {tupleExample.Item3}");
}
}
二.ValueTuples(值元组)
ValueTuples 是最近添加的,是 C# 7.0 引入的值类型。与旧版 System.Tuple 相比,它们更轻量级,性能更好。ValueTuple 是使用 System.ValueTuple 结构创建的。
例子
class Program
{
static void Main()
{
// 创建一个 ValueTuple
(int, string, bool) valueTuple = (1, "Hello", true);
// 访问 ValueTuple 的元