小编Jim*_*y W的帖子

了解.NET泛型集合的实现细节有什么好资源?

我有兴趣了解.NET中泛型集合的底层实现细节.我想到的是诸如如何存储集合,CLR如何访问集合的每个成员等细节.

对于类似于传统数据结构的集合,例如LinkedList和Dictionary,我想我已经了解了下面发生了什么.但是,我不确定像List这样的集合(如何设置它可以索引和扩展?)和SortedList,所以任何关于我可以查看以了解更多关于它们的信息都会非常感激.

.net

4
推荐指数
1
解决办法
154
查看次数

从LINQ to SQL生成的T-SQL缺少where子句

我有一个名为"CodeLookupAccessDataContext"的DataContext对象,它是通过Visual Studio LINQ to SQL类向导生成的.我扩展了这个对象的功能,以便它公开一些方法来返回LINQ to SQL查询的结果.以下是我定义的方法:

public List<CompositeSIDMap> lookupCompositeSIDMap(int regionId, int marketId)
{
    var sidGroupId = CompositeSIDGroupMaps.Where(x => x.RegionID.Equals(regionId) && x.MarketID.Equals(marketId))
        .Select(x => x.CompositeSIDGroup);

    IEnumerator<int> sidGroupIdEnum = sidGroupId.GetEnumerator();

    if (sidGroupIdEnum.MoveNext())
        return lookupCodeInfo<CompositeSIDMap, CompositeSIDMap>(x => x.CompositeSIDGroup.Equals(sidGroupIdEnum.Current), x => x);
    else
        return null;
}

private List<TResult> lookupCodeInfo<T, TResult>(Func<T, bool> compLambda, Func<T, TResult> selectLambda)
    where T : class
{
    System.Data.Linq.Table<T> dataTable = this.GetTable<T>();

    var codeQueryResult = dataTable.Where(compLambda)
        .Select(selectLambda);

    List<TResult> codeList = new List<TResult>();
    foreach (TResult row in codeQueryResult)
        codeList.Add(row);

    return codeList;
} …
Run Code Online (Sandbox Code Playgroud)

.net c# linq-to-sql

2
推荐指数
1
解决办法
485
查看次数

标签 统计

.net ×2

c# ×1

linq-to-sql ×1