说我有以下声明:
struct SomeStructure
{
string Message;
int StartValue;
int EndValue;
}
SomeStructure _SomeStructure;
我永远不会声明一个以上的SomeStructure
变量,所以我想知道是否有一种方法可以在一个语句中将两者结合在一起,例如:
struct SomeStructure
{
string Message;
int StartValue;
int EndValue;
} _SomeStructure;
我需要明确指出不要声明使用该结构的其他变量。
答案 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
但是,对于严格的键入,您将需要创建struct
或class
。