匿名结构声明

时间:2018-07-17 09:43:04

标签: c#

说我有以下声明:

struct SomeStructure
{
    string Message;
    int StartValue;
    int EndValue;
}

SomeStructure _SomeStructure;

我永远不会声明一个以上的SomeStructure变量,所以我想知道是否有一种方法可以在一个语句中将两者结合在一起,例如:

struct SomeStructure
{
    string Message;
    int StartValue;
    int EndValue;
} _SomeStructure;

我需要明确指出不要声明使用该结构的其他变量。

2 个答案:

答案 0 :(得分:4)

ValueTuple似乎很适合您的要求:

  • 明确指出这是一个一次性值
  • struct的身份在幕后实现

var _SomeStructure = (Message: "Hello", StartValue: 1, EndValue: 2);

或者不使用var(根据要求):

(string Message, int StartValue, int EndValue) _SomeStructure = ("Hello", 1, 2);

答案 1 :(得分:1)

您可以创建这样的匿名实体。

var v = new { Message = "Hello" , StartValue = 1, EndValue = 2}; 

有关更多详细信息,请参见此处的文档:

https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/anonymous-types

但是,对于严格的键入,您将需要创建structclass