相关疑难解决方法(0)

如何在C#中初始化一个空数组?

是否可以在不指定大小的情况下创建空数组?

例如,我创建了:

String[] a = new String[5];
Run Code Online (Sandbox Code Playgroud)

我们可以创建没有大小的上面的字符串数组吗?

c# arrays initialization

299
推荐指数
8
解决办法
49万
查看次数

ReSharper警告:"通用类型的静态字段"

public class EnumRouteConstraint<T> : IRouteConstraint
    where T : struct
{
    private static readonly Lazy<HashSet<string>> _enumNames; // <--

    static EnumRouteConstraint()
    {
        if (!typeof(T).IsEnum)
        {
            throw new ArgumentException(
                Resources.Error.EnumRouteConstraint.FormatWith(typeof(T).FullName));
        }

        string[] names = Enum.GetNames(typeof(T));
        _enumNames = new Lazy<HashSet<string>>(() => new HashSet<string>
        (
            names.Select(name => name), StringComparer.InvariantCultureIgnoreCase
        ));
    }

    public bool Match(HttpContextBase httpContext, Route route, 
                        string parameterName, RouteValueDictionary values, 
                        RouteDirection routeDirection)
    {
        bool match = _enumNames.Value.Contains(values[parameterName].ToString());
        return match;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是错的吗?我会假设这实际上有一个static readonly字段用于EnumRouteConstraint<T>我碰巧实例化的每一个.

c# generics resharper static asp.net-mvc-3

251
推荐指数
4
解决办法
4万
查看次数

通用 DbDataReader 到 List&lt;T&gt; 映射

我的属性绑定数据访问类有一个小问题(更像是一个烦恼)。问题是当读取器中不存在类中相应属性的列时,映射会失败。

代码

这是映射器类:

// Map our datareader object to a strongly typed list
private static IList<T> Map<T>(DbDataReader dr) where T : new()
{
    try
    {
        // initialize our returnable list
        List<T> list = new List<T>();
        // fire up the lamda mapping
        var converter = new Converter<T>();
        while (dr.Read())
        {
            // read in each row, and properly map it to our T object
            var obj = converter.CreateItemFromRow(dr);
            // add it to our list
            list.Add(obj);
        }
        // reutrn it
        return list;
    } …
Run Code Online (Sandbox Code Playgroud)

c# reflection expression-trees dbdatareader linq-expressions

5
推荐指数
1
解决办法
4155
查看次数

这个比较器C#语法如何工作?

我看到以下语法:

var comparer = Comparer<TItem>.Default;
Run Code Online (Sandbox Code Playgroud)

这种语法如何工作?

Comparer原本以为必须是新手

.net c# generics c#-4.0

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