小编Joa*_*nge的帖子

为什么C#不允许在switch语句的不同case块中声明具有相同编号的变量?

可能重复:
C#中的Case语句块级别声明空间

例如:

string danger;
switch ( this.Type )
{
    case Warfare.Nuclear:
    case Warfare.Biological:
    case Warfare.Chemical:
        danger = "deadly";
        break;

    case Warfare.Air:
        string threat = "major"

        ...

        break;

    case Warfare.Ground:
        string threat = "medium"

        ...

        break;
}
Run Code Online (Sandbox Code Playgroud)

为什么我不能只在每个变量中定义具有相同名称的局部变量,而不必使用不同的名称或在switch语句之外声明变量,这些变量不会在其外部使用.

.net c# switch-statement

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

在C#中搜索简单关键字的ASCII文件的最快方法?

现在,我在ASCII文件中搜索简单的关键字,如下所示:

int SearchInFile (string file, string searchString)
{
    int num = 0;

    StreamReader reader = File.OpenText (file);
    string line = reader.ReadLine();

    while (line != null)
    {
        int count = CountSubstrings(line, searchString);
        if (count != 0)
        {
            num += count;
        }
        line = reader.ReadLine();
    }

    reader.Close();

    return num;
}
Run Code Online (Sandbox Code Playgroud)

这是最快,最有效的内存方式吗?返回计数是可选的,如果它将在搜索方式上产生巨大差异,但不是单独的.

我用它像:

SearchInFile ( "C:\\text.txt", "cool" );
Run Code Online (Sandbox Code Playgroud)

.net c# io performance

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

更优雅的方式来编写这个C#循环代码?

我必须为不同的成员进行这些类型的初始化:

this.Effects = new Effect [ image.Effects ];
for ( int i = 0; i < image.NumEffects; ++i )
{
    this.Effects [ i ] = new Effect ( image.Effects [ i ] );
}
Run Code Online (Sandbox Code Playgroud)

.net c# coding-style

2
推荐指数
3
解决办法
672
查看次数

使用foreach在这两个IEnumerable <T>代码之间是否会有任何性能差异?

var effects = this.EffectsRecursive;
foreach ( Effect effect in effects )
{
...
}
Run Code Online (Sandbox Code Playgroud)

VS

foreach ( Effect effect in this.EffectsRecursive )
{
...
}
Run Code Online (Sandbox Code Playgroud)

.net c# performance ienumerable

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

如何绑定Xaml中Properties.Resources的图像?

我添加了一些图像Properties.Resources,我可以在其中访问它们:

Properties.Resources.LayerIcon;
Run Code Online (Sandbox Code Playgroud)

并希望在Xaml中使用它,但不知道如何做到这一点.

我知道将图像添加到WPF项目中有不同的方法,但我需要使用Properties.Resources,因为这是我通过反射启动应用程序时图像显示的唯一方法.

.net c# wpf xaml image

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

如何在不进行大量搜索的情况下根据2个标准获取对象?

很难将此概括为1行问题.我有一个这样的课:

class Item
{
    int Count {get; set;}
    double Value {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

List<Item>包含任意数量Item值的a.

如何获得Item最低Count和最高Value

性能并不重要,但优雅是,因为我不希望有大型嵌套循环来执行此操作,除非没有优雅的方式,即Linq等.

编辑:

以下是可能包含以下内容的示例列表Items:

{Count, Value}

{2, 10}, {6, 60}, {5, 21}, {4, 65}, {2, 35}, {4, 18}, {3, 55}, {7, 99}, {2, 25}
Run Code Online (Sandbox Code Playgroud)

所以这里我想要的值是{2, 35}因为它具有Count所有项目中的最低值,并且对于具有相同Count值的项目,它具有最高值Value.

.net c# linq collections

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

C#编译器或Jitter会优化这些算术运算吗?

假设我有这样的事情:

for (int i = 0; i < 1001; i++)
{
    double step = i / 1000.0;

    // do some math here
}
Run Code Online (Sandbox Code Playgroud)

基本上转向:

double step = i / 1000.0;
Run Code Online (Sandbox Code Playgroud)

进入这个:

double step = i * 0.001;
Run Code Online (Sandbox Code Playgroud)

我不确定是否可以在不改变程序结果的情况下进行这种更改,但是想知道C#编译器或抖动是否做了类似的事情?如果没有,为什么?我认为它不值得,或者它们还没有添加这个优化.

.net c# compiler-construction optimization jit

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

如何最好地处理这个Python数字错误?

我有这个代码抛出math domain error异常:

v = -1.0

for i in range (201):
    print acos (v)
    v += 0.01
Run Code Online (Sandbox Code Playgroud)

但是,如果我将其更改为此,它的工作原理如下:

v = -100

for i in range (201):
    print acos (v / 100.0)
    v += 1
Run Code Online (Sandbox Code Playgroud)

这是因为四舍五入吗?

如何在Python中最好地解决这个问题?或者我应该像上一个例子那样做?

python math floating-point

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

WinRT能够运行Win 7和8桌面应用吗?

我读了很多不同的意见,但是WinRT是Win 7和8这样的实际桌面操作系统吗?你能运行功能齐全的桌面应用程序和游戏吗?

windows-8 windows-runtime

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

如何以编程方式识别色情图片?

Google成功地做到了这一点 他们是使用算法还是由人手动标记的图像,结果由完全相同的图像使用,从而大大减少了要经过的图像数量?

因为我不确定你还能识别出这些图片.你可以使用肤色,但它是否100%准确?如果这个人只是穿着一件肤色的衣服怎么办?或者这些也被淘汰了?

或者如果这个人穿着全身衣服但是进行性行为怎么办?

algorithm identity filtering image photos

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