C#7.0元组用作自定义类型

时间:2019-01-17 09:45:29

标签: variables tuples declaration using c#-7.0

我有一个C#7.0元组声明,例如:

  

(int ID,字符串名称,字符串secondName,int age)foo =(19,“ Harry”,“ Potter”,8);

每次声明一个新的var或如果我在函数/方法中使用它,我都需要重写整个声明。 例如:

  

private(整数ID,字符串名称,字符串secondName,整数年龄)DoSomething((整数ID,字符串名称,字符串secondName,整数年龄)passedElement){...

我想将其用作自定义类型并编写如下内容:

  

私有 MyType DoSomething( MyType PassedElement){...

我通常使用常规元组:

  

使用MyType = System.Tuple ;

它工作正常,但是如果我尝试使用:

  

使用MyType =(整数ID,字符串名称,字符串secondName,整数年龄);

intellisense给我一个错误,提示“期望标识符”强调了等号右边的部分。

如果有一个正确的声明方式是什么?

谢谢。

1 个答案:

答案 0 :(得分:1)

Tuples不是类型。不是通常的意思。

在C#中创建了多个小故事,以充当单个值的包。

指定的元组元素名称不是该类型的一部分,而是根据该定义创建的实例的注释。对于运行时(大部分情况下是编译器),(int ID, string name, string secondName, int age)(int i1, string s1, string s2, int i2)(int, string, string, int)相同。