我对C#很新,并试图掌握对象,列表和字典的概念。我有一个从RTD服务器返回数据的方法。
private object getBalance(RtdClient client)
{
int count = 5;
var types = new[] {
"date",
"amount",
"balance"
};
String[] balance = new String[count];
for (int i = 0; i < count; i++)
{
var name = types[i];
var value = Client.getDetails(client, types[i], dateValue.Text);
balance[i] = value.ToString();
}
return balance;
}
它将数据返回为:
balance{string[3]} string[]
我想要做的是获取以下数据:
"date": "17 July"
"amount": "234"
所以我可以balance.date
或balance.amount
。
目前在displayData
方法上,我将其转换为:
string[] arr = ((IEnumerable)balance).Cast<object>()
.Select(x => x.ToString())
.ToArray();
var outputFields = new[] {
"dateValue",
"amountValue",
"balanceValue"
};
for (var i = 0; i < outputFields.Length; i++)
{
outputFields[i].Text = quotes[i];
}
我试图避免维护两个不同的数组(outputFields和types)。
如何将数据作为可以循环的键值对获取?