作者:小辉0110_737 | 来源:互联网 | 2023-10-13 13:52
c#
在我的项目中,我有一个类(可能有多个派生类),其中一个字段是一个字符串。
我们也有实例化这个类的许多对象的代码(出于技术原因,每个实例都有单独的代码)。所以代码文件可能很长。
对于大多数情况,这是可以的。但在极少数情况下,我需要有一个字符串数组作为 TestValue。我知道我可以将其声明为string[]
. 但是因为通常我们只分配单个字符串,所以当只需要一个字符串时,有可能不必总是在代码中显式创建一个数组,就像这样:
public class Datapoint
{
public uint Id;
public string[] TestValue;
}
public void CreateEntries()
{
Table.Add(new Datapoint { Id = 1, TestValue = "123" });
Table.Add(new Datapoint { Id = 2, TestValue = "12.9" });
Table.Add(new Datapoint { Id = 3, TestValue = "Enabled" });
Table.Add(new Datapoint { Id = 4, TestValue = "Temperature" });
Table.Add(new Datapoint { Id = 5, TestValue = { "12.3", "9.8", "7.3" } });
}
有任何想法吗?谢谢!
回答
您可以使用以下params
选项创建构造函数:
public class Datapoint
{
public uint Id;
public string[] TestValue;
public Datapoint(uint id, params string[] testValue)
{
Id = id;
TestValue = testValue;
}
}
用法是:
Table.Add(new Datapoint(1, "123"));
Table.Add(new Datapoint(2, "12.9"));
Table.Add(new Datapoint(3, "Enabled"));
Table.Add(new Datapoint(4, "Temperature"));
Table.Add(new Datapoint(5, "12.3", "9.8", "7.3"));