在方法调用中,对象正在传递。
从这个对象中,我可以得到两件事:ItemData
属性和Row
属性,例如:
oPTL.ItemData, oPTL.Row
我想要一个数据结构,每次调用此方法时,它都可以更新此数据结构,例如,一次
oPTL.ItemData
是"Spread1"
而oPTL.Row
是2
,因此我们应该能够保存该具有值Spread1
...例如下一次调用,我们应该能够保存“ Spread3”具有值3。.下一次调用“ Spread1”具有ALSO值4,依此类推...所以它就像一个
2
,但是在代码中以这种方式声明和使用它仍然有问题,您可以帮助我的任何代码示例吗? 最佳答案
您可以使用值是列表的字典:
IDictionary<string, List<int>> rows = new Dictionary<string, List<int>>();
要填充它,您可以使用以下扩展方法:
public static class DictionaryDefaultExtension
{
public static TValue GetOrDefault<TKey, TValue>(
this IDictionary<TKey, TValue> dictionary,
TKey key,
Func<TValue> defaultValue)
{
TValue result;
if (dictionary.TryGetValue(key, out result))
{
return result;
}
else
{
TValue value = defaultValue();
dictionary[key] = value;
return value;
}
}
}
像这样使用:
d.GetOrDefault(oPTL.ItemData, () => new List<int>()).Add(oPTL.Row);