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"。如果您将它用作标识符 - 在这种情况下,一个名为 varbyte 变量 - 那么它的功能就像一个标识符,而不是关键字。所以这里没有什么特别的意思,只是在一个以3为唯一元素的1元素byte数组的基础上发起一个BitArray

在引用的问题中,有一个名称为 var 的变量声明(这可能是因为 var 不是 C# 中的 reserved keywords 之一)。

此语法:

var bytes = new byte[] { var };

用于 collection initializer,它创建一个包含一项 (var) 的 byte 数组。因此,在您的情况下,您会收到错误消息,因为范围内没有可访问名称为 var 的 variable/field/property。