大括号内的`var`在C#中是什么意思? [已关闭]

问题描述 投票:0回答:3

大括号内的

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

c# .net syntax var
3个回答
4
投票

在引用的问题中,有一个用名称

var
声明的变量(这是可能的,因为
var
不是 C# 中的 保留关键字之一)。

这个语法:

var bytes = new byte[] { var };

用于 集合初始值设定项,它创建一个包含一项 (

byte
) 的
var
数组。因此,在您的情况下,您会收到错误,因为范围内没有名称为
var
的变量/字段/属性可访问。


3
投票

这是一个名为

var
的变量。如果你查看原始来源:

byte var = 3;
BitArray bits = new BitArray(new byte[] { var });

var
就是所谓的 “上下文关键字”。如果您将其用作标识符 - 在本例中是一个名为
byte
var
变量 - 那么它的功能就像标识符,而不是关键字。所以这里没有什么特殊含义,只是基于 1 元素
BitArray
数组发起一个
byte
,其中
3
作为唯一元素。


1
投票

var
在这种情况下可能意味着变量。您收到一个错误,指出 var 在当前上下文中不存在:

来自原帖:

byte var = 3;
BitArray bits = new BitArray(new byte[] { var });
© www.soinside.com 2019 - 2024. All rights reserved.