小编PRA*_*T P的帖子

如何在.NET中追踪StackOverflowException的原因?

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什么?

.net c# stack-overflow volatile winforms

32
推荐指数
2
解决办法
6472
查看次数

使用LINQ和ArrayList

我最近使用过LINQ

在以下代码中:

ArrayList list = new ArrayList();
var myStrings = list.AsQueryable().Cast<string>();
Run Code Online (Sandbox Code Playgroud)

有什么AsQueryable用?我知道Cast创建一个类型安全的集合,并且ArrayList已弃用.

我有一个朋友说他需要AsQueryable结合使用ArrayList.我试图理解为什么,但我不明白为什么AsQueryable需要.

他错了吗?

c# linq

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

是否使用显式接口实现隐藏功能?

我使用接口来解耦我的代码.我很好奇,是否使用显式接口实现隐藏功能?

例:

public class MyClass : IInterface
{
     void IInterface.NoneWillCall(int ragh) { }
}
Run Code Online (Sandbox Code Playgroud)

只有通过界面明确提供此功能有什么好处和具体用例?

c# interface

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

使用var实际上是慢吗?如果是这样,为什么?

我正在学习C#和.NET,我经常var在我的代码中使用该关键字.我从Eric Lippert那里得到了这个想法,我喜欢它如何提高代码的可维护性.

我很想知道,虽然......很多关于缓慢堆位的引用的博客都写过,但我自己并没有观察到这一点.这实际上很慢吗?我指的是由于类型推断导致编译时间慢.

c# var

4
推荐指数
3
解决办法
3306
查看次数

如何将参数传递给事件?

我的一些变量没有被每个方法调用序列化.

我怎么知道参数在哪里?

public static int button21_Click(object me, EventArgs MyArgs) {
  button17(me, MyArts);
}
Run Code Online (Sandbox Code Playgroud)

c# events delegates

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

"拳击"如何在.NET中运行?

我知道什么是"拳击":

object myBox = 5;
Run Code Online (Sandbox Code Playgroud)

现在我希望增加我的知识.是否为此拳击操作创建了特殊类型?或者被System.Object使用?.NET如何处理拳击?

.net

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

为什么Visual Studio设计器不希望我在代码中更改事件名称?

我有一个关于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文件中更改名称,那么如何将名称更改为更有意义的名称?

c# events windows-forms-designer winforms

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

c#ref for speed

我完全理解.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之前更好地参考?

c# performance ref

0
推荐指数
2
解决办法
1124
查看次数

如何在IE8中运行jQuery代码

我的任务是将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没有帮助.

jquery browser-detection internet-explorer-8

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