今天,我遇到了一些像这样的代码.
namespace Foo
{
public enum Game{ High, Low};
public enum Switch{On, Off};
public class Bar()
{
// Blah
}
}
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚它与声明课堂内的枚举之间的区别是什么.AFAIK,你仍然可以"覆盖"课堂内的那些枚举.
我有Visual Studios 2010专业版
我读到,显然Visual Studio的旧版本使用了一个用于在C#中添加类的向导.它允许各种类似基类和接口方法的东西.
http://msdn.microsoft.com/en-us/library/aa288077(v=VS.71).aspx
我今天遇到了这篇博客文章.
我会总结一下.这位博客正在评论这段代码并说它很难看.
// 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) 此查询来自此处的答案.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) 也许我太聪明了,但是我有一个方法可以通过一个可枚举的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.
我在构造函数中编写了这个来测试一个类,忘了更改构造函数的名称以匹配类名.感谢非常快速的回复.
我得到的错误是"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) 我见过以下形式的一些代码:
var vendorcode = vendorcode || {};
Run Code Online (Sandbox Code Playgroud)
我一直以为这||是一个合乎逻辑的操作员.但这个是真正的doozy.
c# ×5
class ×1
datetime ×1
enums ×1
foreach ×1
javascript ×1
linq ×1
list ×1
namespaces ×1
null ×1
sql ×1
string ×1
where-clause ×1