C# 中大括号内的 `var` 是什么意思?
What does the `var` inside the curly braces mean in C#?
大括号里面的var
在C#中是什么意思?
例如有 .
问题下方有一段代码在答案中:
BitArray bits = new BitArray(new byte[] { var });
我从未见过 var
被这样使用,我无法通过谷歌搜索找到任何相关信息。
当我尝试 运行 以下内容时:
using System;
public class Program
{
public static void Main()
{
var bytes = new byte[] { var };
}
}
我收到错误:
Compilation error (line 7, col 34): The name 'var' does not exist in the current context
我正在使用.NET 4.7.2
。可能需要不同版本的 .NET
?
By var
在那种情况下,他们可能意味着变量。您收到一个错误,指出 var 在当前上下文中不存在:
来自原文post:
byte var = 3;
BitArray bits = new BitArray(new byte[] { var });
这是一个名为 var
的变量。如果您查看原始来源:
byte var = 3;
BitArray bits = new BitArray(new byte[] { var });
var
就是所谓的"contextual keyword"。如果您将它用作标识符 - 在这种情况下,一个名为 var
的 byte
变量 - 那么它的功能就像一个标识符,而不是关键字。所以这里没有什么特别的意思,只是在一个以3
为唯一元素的1元素byte
数组的基础上发起一个BitArray
。
在引用的问题中,有一个名称为 var
的变量声明(这可能是因为 var
不是 C# 中的 reserved keywords 之一)。
此语法:
var bytes = new byte[] { var };
用于 collection initializer,它创建一个包含一项 (var
) 的 byte
数组。因此,在您的情况下,您会收到错误消息,因为范围内没有可访问名称为 var
的 variable/field/property。
大括号里面的var
在C#中是什么意思?
例如有
问题下方有一段代码在答案中:
BitArray bits = new BitArray(new byte[] { var });
我从未见过 var
被这样使用,我无法通过谷歌搜索找到任何相关信息。
当我尝试 运行 以下内容时:
using System;
public class Program
{
public static void Main()
{
var bytes = new byte[] { var };
}
}
我收到错误:
Compilation error (line 7, col 34): The name 'var' does not exist in the current context
我正在使用.NET 4.7.2
。可能需要不同版本的 .NET
?
By var
在那种情况下,他们可能意味着变量。您收到一个错误,指出 var 在当前上下文中不存在:
来自原文post:
byte var = 3;
BitArray bits = new BitArray(new byte[] { var });
这是一个名为 var
的变量。如果您查看原始来源:
byte var = 3;
BitArray bits = new BitArray(new byte[] { var });
var
就是所谓的"contextual keyword"。如果您将它用作标识符 - 在这种情况下,一个名为 var
的 byte
变量 - 那么它的功能就像一个标识符,而不是关键字。所以这里没有什么特别的意思,只是在一个以3
为唯一元素的1元素byte
数组的基础上发起一个BitArray
。
在引用的问题中,有一个名称为 var
的变量声明(这可能是因为 var
不是 C# 中的 reserved keywords 之一)。
此语法:
var bytes = new byte[] { var };
用于 collection initializer,它创建一个包含一项 (var
) 的 byte
数组。因此,在您的情况下,您会收到错误消息,因为范围内没有可访问名称为 var
的 variable/field/property。