我需要一个字典,但我还需要在字典中存储关于该对象的布尔值.什么是最好的方式.
类似的东西Dictonary<string,object,bool>是理想的,但不存在.
我的第一个想法是:
public class SomeObject
{
public object Value { get; set; }
public bool Flag { get; set; }
}
// and then use:
Dictionary<string,SomeObject> myDictionary;
Run Code Online (Sandbox Code Playgroud)
我的第二个想法是实现IDictionary<string,object>并包含两个由实现的方法和属性访问器操纵的字典.它们必须保持同步:
class DataDictionary : IDictionary<string, object>
{
private Dictionary<string, bool> _clientSideFlags = new Dictionary<string, bool>();
private Dictionary<string, object> _data = new Dictionary<string, object>();
// implemented methods, etc.
}
Run Code Online (Sandbox Code Playgroud)
我的第三个想法是看看StackOverflow的人会做些什么.
Ree*_*sey 14
你可以使用:
Dictionary<string, KeyValuePair<object,bool>>
Run Code Online (Sandbox Code Playgroud)
这允许您存储a KeyValuePair<object,bool>,它使用BCL类型提供您的自定义类.
话虽这么说,我经常发现自己使用自定义类或结构来代替.就个人而言,我发现实现我的价值存储的自定义类型往往随着时间的推移比使用更容易维护KeyValuePair,Tuple或其他非特定的类型.如果我有一个具有适当名称的自定义类型,一年后的使用情况会更加明显.
| 归档时间: |
|
| 查看次数: |
503 次 |
| 最近记录: |