我有一个字典,例如Dictionary<int, string>
。
如果我知道键,最好的方法是获取字符串值是什么?
我有一个字典,例如Dictionary<int, string>
。
如果我知道键,最好的方法是获取字符串值是什么?
如果您知道字典中包含该键:
value = dictionary[key];
如果你不确定:
dictionary.TryGetValue(key, out value);
你所说的“最好”的意思是什么?
这是访问字典键值对的标准方式:
var theValue = myDict[key];
如果键不存在,这将抛出一个异常,因此在获取它之前,您可能需要先检查键是否存在(不是线程安全的):if(myDict.ContainsKey(key))
{
var theValue = myDict[key];
}
或者您可以使用myDict.TryGetValue
,但这需要使用out参数才能获取值。
O(1)
,所以不用担心。无论如何,+1。 - zerkmsstatic class TestDictionary
{
static void Main() {
Dictionary<int, string> numbers;
numbers = new Dictionary<int, string>();
numbers.Add(0, "zero");
numbers.Add(1, "one");
numbers.Add(2, "two");
numbers.Add(3, "three");
numbers.Add(4, "four");
var query =
from n in numbers
where (n.Value.StartsWith("t"))
select n.Value;
}
}
var evenNumbers =
from n in numbers
where (n.Key % 2) == 0
select n.Value;
var stringValue = dictionary[key];
string value = dictionary[key];
var value = myDictionary[i];
?我不太确定你在问什么,但我猜想这与字典有关?
如果你知道键值,获取字符串值是相当容易的。
string myValue = myDictionary[yourKey];
public class MyClass
{
private Dictionary<string, string> myDictionary;
public string this[string key]
{
get { return myDictionary[key]; }
}
}
Dictionary.TryGetValue
是最安全的方法,或者像其他人建议的那样使用 Dictionary 索引器,但记得要捕获 KeyNotFoundException 异常。
if(!dic.TryGetValue(key, out object o) || o == null) return;
- Fabrice T