(一)C#元组
元组的作用是合并数据。
例如:Mary买了一条150块钱的裙子,我们可以讲上述数据元素——Mary和150,存储到单独的变量中,但是它们之间毫无联系。
该问题有两种解决方案,一种是在变量名中使用统一的前缀或后缀;另一种是将所有数据合并到一个字符串中,但缺点是需要解析字符串才能处理单独的数据元素。
C#提供了一种新的解决方案——元组,允许在一个语句中完成所有变量的赋值,如下所示:
class Program
{
static void Main(string[] args)
{
(string name, string jia_qian, string goods) = ("Mary", "150","裙子");
System.Console.WriteLine("{0}花了{1}块钱买了一件{2}。",name,jia_qian,goods);
}
}
元组声明和赋值的示例代码:
static void Main(string[] args)
{
//1将元组赋给单独声明的变量
(string name, string jia_qian, string goods) = ("Mary", "150", "裙子");
System.Console.WriteLine("{0}花了{1}块钱买了一件{2}。", name, jia_qian, goods);
//2将元组赋给预声明的变量
string name;
string jia_qian;
string goods;
(name,jia_qian,goods) = ("Mary", "150", "裙子");
System.Console.WriteLine("{0}花了{1}块钱买了一件{2}。", name, jia_qian, goods);
//3将元组赋给单独声明和隐式类型的变量
(var name, var jia_qian, var goods) = ("Mary", "150", "裙子");
System.Console.WriteLine("{0}花了{1}块钱买了一件{2}。", name, jia_qian, goods);
//4将元组赋给单独声明和隐式类型的变量,但只用了一个var
var(name, jia_qian , goods) = ("Mary", "150", "裙子");
System.Console.WriteLine("{0}花了{1}块钱买了一件{2}。", name, jia_qian, goods);
//5声明具名元组,将元组赋值给它,按名称访问元组项
(string name, string jia_qian, string goods)qing_dan = ("Mary", "150", "裙子");
System.Console.WriteLine("{0}花了{1}块钱买了一件{2}。",qing_dan.name,
qing_dan.jia_qian, qing_dan.goods);
//6声明包含具名元组项的元组,将其赋给隐式类型的变量,按名称访问元组项
var qing_dan=(name: "Mary", jia_qian: "150" , goods: "裙子") ;
System.Console.WriteLine("{0}花了{1}块钱买了一件{2}。", qing_dan.name,
qing_dan.jia_qian, qing_dan.goods);
//7将元组项未具名的元组赋给隐式类型的变量,通过项编号属性访问单独的元素
var qing_dan = ("Mary", "150", "裙子"