有没有办法初始化动态字符串数组。
public class CXmlFileHook
{
string vAppname;
string vClassname;
string vIdmark;
string vExecname;
string [] vApiName;
string vCtor;
public CXmlFileHook()
{
this.vAppname = "Not Set";
this.vIdmark = "Not Set";
this.vClassname = "Not Set";
this.vExecname = "Not Set";
this.vApiName = new string[9] { "Not Set", "Not Set", "Not Set", "Not Set", "Not Set", "Not Set", "Not Set", "Not Set" ,"Not Set"};
this.vCtor = "CXmlFileHook()";
}
现在我希望字符串的大小应该动态增加,并根据大小初始化它自己是否可能????
答案 0 :(得分:2)
仍然不确定你真正需要知道什么,所以这里有几个答案可供选择: - )
C#中的数组不能改变它的长度。如果需要动态集合,请使用集合类,例如。 List<T>
。
可以使用相同的语法初始化List<T>
:
this.vApiName = new List<string>
{
"Not Set",
"Not Set",
"Not Set",
"Not Set",
"Not Set",
"Not Set",
"Not Set",
"Not Set",
"Not Set"
};
如果数组的长度在运行时没有改变,您可以使用它。在同时声明和初始化数组时,无需指定数组的长度。长度由编译器确定(在运行时它仍然是常量):
this.vApiName = new string[] // <= no array-length, set to 9 by compiler
{
"Not Set",
"Not Set",
"Not Set",
"Not Set",
"Not Set",
"Not Set",
"Not Set",
"Not Set",
"Not Set"
};
如果您只想使用空值进行初始化,则无需初始化默认值(参见this link)。
this.vApiName = new string[9]; // array containing 9 x null