小编sur*_*asb的帖子

枚举在类体外但在命名空间内的定义

今天,我遇到了一些像这样的代码.

namespace Foo
{

    public enum Game{ High, Low};
    public enum Switch{On, Off};

    public class Bar()
    {
    // Blah
    }
}
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚它与声明课堂内的枚举之间的区别是什么.AFAIK,你仍然可以"覆盖"课堂内的那些枚举.

c# enums namespaces class

14
推荐指数
2
解决办法
2万
查看次数

那些旧的C#类向导去了哪里?

我有Visual Studios 2010专业版

我读到,显然Visual Studio的旧版本使用了一个用于在C#中添加类的向导.它允许各种类似基类和接口方法的东西.

http://msdn.microsoft.com/en-us/library/aa288077(v=VS.71).aspx

c# visual-studio-2010

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

这比Null Coalesce运算符更好吗?

我今天遇到了这篇博客文章.

我会总结一下.这位博客正在评论这段代码并说它很难看.

// var line1 = person.Address.Lines.Line1 ?? string.Empty;
// throws NullReferenceException: 
//    {"Object reference not set to an instance of an object."}

// The ugly alternative

var line1 = person.Address == null
    ? "n/a"
    : person.Address.Lines == null
    ? "n/a"
    : person.Address.Lines.Line1;
Run Code Online (Sandbox Code Playgroud)

然后,博主继续编写一个类,允许您使用新语法替换上面的代码.

var line2 = Dis.OrDat<string>(() => person.Address.Lines.Line2, "n/a");
Run Code Online (Sandbox Code Playgroud)

Class Dis的代码如下.

 public static class Dis
  {
    public static T OrDat<T>(Expression<Func<T>> expr, T dat)
    {
      try
      {
        var func = expr.Compile();
        var result = func.Invoke();
        return …
Run Code Online (Sandbox Code Playgroud)

c# linq null expression-trees

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

为什么Where子句中的(1 = 1)?

此查询来自此处的答案.where子句中有(1 = 1),但执行计划是相同的(SQL Express 2008R2).

我猜它是过去的神器?

SELECT 
     ind.name 
    ,ind.index_id 
    ,ic.index_column_id 
    ,col.name 
    ,ind.* 
    ,ic.* 
    ,col.* 
FROM sys.indexes ind 

INNER JOIN sys.index_columns ic 
    ON  ind.object_id = ic.object_id and ind.index_id = ic.index_id 

INNER JOIN sys.columns col 
    ON ic.object_id = col.object_id and ic.column_id = col.column_id 

INNER JOIN sys.tables t 
    ON ind.object_id = t.object_id 

WHERE (1=1) 
    AND ind.is_primary_key = 0 
    AND ind.is_unique = 0 
    AND ind.is_unique_constraint = 0 
    AND t.is_ms_shipped = 0 
ORDER BY 
    t.name, ind.name, ind.index_id, ic.index_column_id 
Run Code Online (Sandbox Code Playgroud)

sql where-clause

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

将列表解析为字符串

也许我太聪明了,但是我有一个方法可以通过一个可枚举的List(Collections)并将它作为一个...........枚举List(Sparkles)返回.

我想将第一个列表(Collections)放在一个处理验证和其他各种职责的类中,否则我将直接处理集合.

我很确定听起来比较难听.所以该类通过一个名为getSparkles()的方法返回一个列表(Sparkles ).

我以为我做了一个正确的做法:

string msg;
List<string> layoutListNames = new List<string>();

foreach (string name in layoutList.getLayout());
{
     msg = "\n" + name;
}
Run Code Online (Sandbox Code Playgroud)

但是,编译器不同意我的看法.

给我一个提示.我乐意去学.

编辑:对不起.getLayout()返回List <>.我删除了分号.哦/ facepalm.

我在构造函数中编写了这个来测试一个类,忘了更改构造函数的名称以匹配类名.感谢非常快速的回复.

c# string foreach list

0
推荐指数
1
解决办法
1765
查看次数

循环中的歧义?

我得到的错误是"System.ArgumentOutOfRangeException未处理".它要求那个在1到12之间.但是看看调试器中的变量说它等于1,以及Debug.Writeline.

    int month, year, total;
    total = 0;
    DateTime dayToFind;

    for (year = 1001; year < 1201; year++){
        for (month = 1; month < 12; month++){
            dayToFind = new DateTime(year, month, DateTime.DaysInMonth(month, year));
            // The error points at the last occurance of month above.
            total = (dayToFind.DayOfWeek == DayOfWeek.Monday) ? 1 : 0;
        }

    }
Run Code Online (Sandbox Code Playgroud)

c# datetime

0
推荐指数
1
解决办法
76
查看次数

javascript中的"变量|| {}"是什么?

我见过以下形式的一些代码:

var vendorcode = vendorcode || {};
Run Code Online (Sandbox Code Playgroud)

我一直以为这||是一个合乎逻辑的操作员.但这个是真正的doozy.

javascript

0
推荐指数
1
解决办法
1391
查看次数