StackOverflowException
当我运行以下代码时,我得到一个:
private void MyButton_Click(object sender, EventArgs e) {
MyButton_Click_Aux();
}
private static volatile int reportCount;
private static void MyButton_Click_Aux() {
try { /*remove because stack overflows without*/ }
finally {
var myLogData = new ArrayList();
myLogData.Add(reportCount);
myLogData.Add("method MyButtonClickAux");
Log(myLogData);
}
}
private static void Log(object logData) {
// my log code is not matter
}
Run Code Online (Sandbox Code Playgroud)
可能导致StackOverflowException
什么?
我最近使用过LINQ
在以下代码中:
ArrayList list = new ArrayList();
var myStrings = list.AsQueryable().Cast<string>();
Run Code Online (Sandbox Code Playgroud)
有什么AsQueryable
用?我知道Cast
创建一个类型安全的集合,并且ArrayList
已弃用.
我有一个朋友说他需要AsQueryable
结合使用ArrayList
.我试图理解为什么,但我不明白为什么AsQueryable
需要.
他错了吗?
我使用接口来解耦我的代码.我很好奇,是否使用显式接口实现隐藏功能?
例:
public class MyClass : IInterface
{
void IInterface.NoneWillCall(int ragh) { }
}
Run Code Online (Sandbox Code Playgroud)
只有通过界面明确提供此功能有什么好处和具体用例?
我正在学习C#和.NET,我经常var
在我的代码中使用该关键字.我从Eric Lippert那里得到了这个想法,我喜欢它如何提高代码的可维护性.
我很想知道,虽然......很多关于缓慢堆位的引用的博客都写过,但我自己并没有观察到这一点.这实际上很慢吗?我指的是由于类型推断导致编译时间慢.
我的一些变量没有被每个方法调用序列化.
我怎么知道参数在哪里?
public static int button21_Click(object me, EventArgs MyArgs) {
button17(me, MyArts);
}
Run Code Online (Sandbox Code Playgroud) 我知道什么是"拳击":
object myBox = 5;
Run Code Online (Sandbox Code Playgroud)
现在我希望增加我的知识.是否为此拳击操作创建了特殊类型?或者被System.Object
使用?.NET如何处理拳击?
我有一个关于C#事件命名约定的问题:
private void button21_Click(object sender, EventArgs e) { /// CODE /// }
private void button22_Click(object sender, EventArgs e) { /// CODE /// }
private void button23_Click(object sender, EventArgs e) { /// CODE /// }
Run Code Online (Sandbox Code Playgroud)
设计师警告我应该保持设计师代码不变.如果我不能在designer.cs
文件中更改名称,那么如何将名称更改为更有意义的名称?
我完全理解.NET中的引用词
既然使用相同的变量,会增加使用ref而不是复制的速度吗?
我发现密码一般是瓶颈.
这是我的代码
protected internal string GetSecurePasswordString(string legalChars, int length)
{
Random myRandom = new Random();
string myString = "";
for (int i = 0; i < length; i++)
{
int charPos = myRandom.Next(0, legalChars.Length - 1);
myString = myString + legalChars[charPos].ToString();
}
return myString;
}
Run Code Online (Sandbox Code Playgroud)
在lawchars之前更好地参考?
我的任务是将jQuery放入webapp,需要特定于Internet Explorer 8浏览器的功能(不需要7个).这该怎么做?
在jQuery 1.8中可以做到:
if ($.browser.msie && $.browser.version == '8') { /* does not matter */ }
Run Code Online (Sandbox Code Playgroud)
在版本1.9 $.browser
中删除.建议$.support
没有帮助.