首页 > 代码库 > C#隐式类型局部变量&隐式类型数组
C#隐式类型局部变量&隐式类型数组
【隐式类型局部变量】
可以赋予局部变量推断“类型”var 而不是显式类型。var 关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型可以是内置类型、匿名类型、用户定义类型或 .NET Framework 类库中定义的类型。
// i is compiled as an intvar i = 5;// s is compiled as a stringvar s = "Hello";// a is compiled as int[]var a = new[] { 0, 1, 2 };// expr is compiled as IEnumerable<Customer>// or perhaps IQueryable<Customer>var expr = from c in customers where c.City == "London" select c;// anon is compiled as an anonymous typevar anon = new { Name = "Terry", Age = 34 };// list is compiled as List<int> var list = new List<int>();
【隐式类型数组】
可以创建隐式类型的数组,在这样的数组中,数组实例的类型是从数组初始值设定项中指定的元素推断而来的。
class ImplicitlyTypedArraySample{ static void Main() { var a = new[] { 1, 10, 100, 1000 }; // int[] var b = new[] { "hello", null, "world" }; // string[] // single-dimension jagged array var c = new[] { new[]{1,2,3,4}, new[]{5,6,7,8} }; // jagged array of strings var d = new[] { new[]{"Luca", "Mads", "Luke", "Dinesh"}, new[]{"Karen", "Suma", "Frances"} }; }}
可以和隐匿类型一起使用。
var contacts = new[] { new { Name = " Eugene Zabokritski", PhoneNumbers = new[] { "206-555-0108", "425-555-0001" } }, new { Name = " Hanying Feng", PhoneNumbers = new[] { "650-555-0199" } }};
参考:
1、http://msdn.microsoft.com/zh-cn/library/bb383973(v=vs.90).aspx
2、http://msdn.microsoft.com/zh-cn/library/bb384061(v=vs.90).aspx
3、http://msdn.microsoft.com/zh-cn/library/bb384090(v=vs.90).aspx
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。