























以下转自:豆包
在 C# 中,元组(Tuples) 是一种轻量级的数据结构,用于将多个值组合成一个单一的对象。它们提供了简洁的语法来处理临时数据集合,无需定义专门的类或结构。以下是关于 C# 元组的详细介绍:
元组是一种值类型(ValueTuple),允许存储不同类型的多个值。它们有两种主要形式:
Item1, Item2等)。使用括号直接创建:
var person = ("John", 30, "New York");
为元素指定名称:
var person = (Name: "Alice", Age: 25, City: "London");
var numbers = new ValueTuple<int, string>(1, "one");
var coords = (10, 20);
int x = coords.Item1;
var person = (Name: "Bob", Age: 40);
string name = person.Name;
将元组的元素直接赋值给变量:
var point = (X: 5, Y: 10);
var (x, y) = point;
忽略不需要的元素:
var (first, _, third) = (1, 2, 3);
public (string Name, int Age) GetPerson()
{
return ("Charlie", 35);
}
public void PrintPerson((string Name, int Age) person)
{
Console.WriteLine($"{person.Name}, {person.Age}");
}
元组的相等性基于元素的值和顺序:
var t1 = (1, "a");
var t2 = (1, "a");
Console.WriteLine(t1 == t2);
| 特性 | 元组(Tuples) | 类 / 结构(Class/Struct) |
|---|---|---|
| 语法复杂度 | 简洁,无需定义类型 | 需要显式定义类或结构 |
| 成员访问 | 通过名称或ItemN |
通过属性或字段 |
| 用途 | 临时数据集合 | 定义具有行为和状态的类型 |
| 命名要求 | 可选(命名元组) | 必须定义成员名称 |
| 不可变性 | 默认可变(可重新赋值) | 需手动实现不可变属性 |
ValueTuple的构造函数。System.Runtime.CompilerServices.TupleElementNamesAttribute)。out参数。public (int Sum, int Product) Calculate(int a, int b)
{
return (a + b, a * b);
}
元组是 C# 中处理临时数据集合的高效方式,尤其适合简化方法返回值和参数传递。它们通过简洁的语法减少了样板代码,但对于复杂场景仍需使用类或结构。掌握元组可以提高代码的可读性和开发效率。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。