我有一个驻留在服务器上的代码,它包含从数组中分配的5个属性值,如下所示,但是如果旧版本安装了客户端机器可能包含或不包含5个属性值(第5个是新的“字符串版本“) 现在我有一个要求“代码需要检查以确保第五个属性exis。如果数组中没有五个条目,则应将版本设置为类似”0.0.0.0 的值“
string Name = this_event.Data[0].lower_value;
string no = this_event.Data[1].lower_value;
string debitvalue = this_event.Data[2].lower_value;
string creditvalue = this_event.Data[3].lower_value;
string version = this_event.Data[4].lower_value;//we have to check here whether this attribute exists in client
答案 0 :(得分:1)
在您学习的过程中,这不是一个可扩展的解决方案。您应该真正考虑使用强类型的可序列化对象而不是任意数组。话虽如此,对您的具体问题的简单解决方案是:
string version = this_event.Data.length > 4 ? this_event.Data[4].lower_value : "0.0.0.0";
答案 1 :(得分:0)
为了获得数组中的元素数,您可以使用 Length 属性。
string Name = this_event.Data[0].lower_value;
string no = this_event.Data[1].lower_value;
string debitvalue = this_event.Data[2].lower_value;
string creditvalue = this_event.Data[3].lower_value;
string version = "0.0.0.0";
if (this_event.Data.Length >= 5)
{
version = this_event.Data[4].lower_value;
}