aba*_*hev 38 .net c# linq dictionary anonymous-types
是否可以在C#中创建System.Collections.Generic.Dictionary<TKey, TValue>
where TKey
无条件类,以及TValue
- 具有许多属性的匿名类,例如 - 数据库列名和它的本地化名称.
像这样的东西:
new { ID = 1, Name = new { Column = "Dollar", Localized = "??????" } }
Run Code Online (Sandbox Code Playgroud)
ito*_*son 44
你不能直接声明这样的字典类型(有kludges但这些仅用于娱乐和新颖目的),但是如果你的数据来自IEnumerable或IQueryable源,你可以使用LINQ ToDictionary运算符获得一个并突出显示序列元素中所需的键和(匿名类型)值:
var intToAnon = sourceSequence.ToDictionary(
e => e.Id,
e => new { e.Column, e.Localized });
Run Code Online (Sandbox Code Playgroud)
Ðаn*_*Ðаn 18
正如itowlson 所说,你不能宣布这样的野兽,但你确实可以创造一个:
static IDictionary<TKey, TValue> NewDictionary<TKey, TValue>(TKey key, TValue value)
{
return new Dictionary<TKey, TValue>();
}
static void Main(string[] args)
{
var dict = NewDictionary(new {ID = 1}, new { Column = "Dollar", Localized = "??????" });
}
Run Code Online (Sandbox Code Playgroud)
目前尚不清楚为什么你真的想要使用这样的代码.
归档时间: |
|
查看次数: |
28874 次 |
最近记录: |