你最喜欢用什么C#技巧?

sau*_*erl 6 c#

可能重复:
C#的隐藏功能?

大家好,

我只是想知道程序员在日常工作中使用的小C#技巧.

我有两个 - 一个,一个被忽视的,对我来说,语言功能.另一个解决了经常出现的需求.

1 - 返回默认值(通常来自ViewState或Session等集合)

你多久写一次这样的代码?

if(Session["VariableName"] != null && ....
Run Code Online (Sandbox Code Playgroud)

要么

if(String.IsNullOrEmpty(Session["VariableName"]) ...
Run Code Online (Sandbox Code Playgroud)

要检索值.

好吧,Resharper在我安装它之后第一次尝试时拍了拍我的手.据说用这个代替:

var MyVariable = Session["VariableName"] ?? string.empty
Run Code Online (Sandbox Code Playgroud)

太容易了.

2 - 计算字符串中子字符串的数量(在我的代码中不循环).

string myString = "Lorem ipsum dolor sit amet, " +   
"consectetur adipisicing elit, sed do eiusmod " + 
"tempor incididunt ut labore et dolore magna " + 
"aliqua. Ut enim ad minim veniam, quis nostrud " +
"exercitation ullamco laboris nisi ut aliquip " +    
"ex ea commodo consequat. Duis aute irure " + 
"dolor in reprehenderit in voluptate velit " +    
"esse cillum dolore eu fugiat nulla pariatur. " +    
"Excepteur sint occaecat cupidatat non proident, " +    
"sunt in culpa qui officia deserunt mollit anim " +    
"id est laborum.";

string mySubString = "dolor";
int Count = (myString.Length - myString.Replace(mySubString, string.Empty).Length) / mySubString.Length;
Run Code Online (Sandbox Code Playgroud)