本文整理汇总了C#中System.Collections.Dictionary.GetOrAdd方法的典型用法代码示例。如果您正苦于以下问题:C# Dictionary.GetOrAdd方法的具体用法?C# Dictionary.GetOrAdd怎么用?C# Dictionary.GetOrAdd使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Collections.Dictionary
的用法示例。
在下文中一共展示了Dictionary.GetOrAdd方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetOrAddShouldReturnExistingValue
public void GetOrAddShouldReturnExistingValue()
{
// arrange
var expected = new object();
var target = new Dictionary<string, object>() { { "Test", expected } };
// act
var actual = target.GetOrAdd( "Test", () => new object() );
// assert
Assert.Equal( expected, actual );
Assert.Equal( 1, target.Count );
Assert.True( target.ContainsKey( "Test" ) );
}
示例2: GetOrAddShouldInsertAndReturnNewItemIntoDictionary
public void GetOrAddShouldInsertAndReturnNewItemIntoDictionary()
{
// arrange
var expected = new object();
var target = new Dictionary<string, object>();
// act
var actual = target.GetOrAdd( "Test", () => expected );
// assert
Assert.Equal( expected, actual );
Assert.Equal( 1, target.Count );
Assert.True( target.ContainsKey( "Test" ) );
}
示例3: BuildGroupList
private IEnumerable<SelectGroupItem> BuildGroupList()
{
if (Items == null)
return Enumerable.Empty<SelectGroupItem>();
if (Items is IEnumerable<SelectGroupItem>)
return Items as IEnumerable<SelectGroupItem>;
var groups = new Dictionary<string, SelectGroupItem>();
foreach (var item in Items)
{
var selectListItem = CreateSelectItem(item);
var group = LateBinder.GetProperty(item, DataGroupField);
var groupString = Convert.ToString(group);
var groupItem = groups.GetOrAdd(groupString, k => new SelectGroupItem { Label = k });
groupItem.Items.Add(selectListItem);
}
return groups.Values;
}