小编Joa*_*nge的帖子

为什么C#不允许我在不同的范围内使用相同的变量名?

例如:

if ( this.IsValid )
{
    Matrix matrix = new Matrix();
}

Matrix matrix = new Matrix();
Run Code Online (Sandbox Code Playgroud)

编译器警告我说:

"名为' matrix'的局部变量不能在此范围内声明,因为它会给' matrix' 赋予不同的含义,' '已在'子'范围内用于表示其他内容.

这些变量不是在不同的范围内,所以我无法matrix从if语句外部访问第一个吗?

.net c# compiler-construction

15
推荐指数
3
解决办法
7539
查看次数

Python list.index在找不到索引时抛出异常

为什么list.index抛出异常,而不是使用任意值(例如-1)?这背后有什么想法?

对我而言,处理特殊价值而非例外情况看起来更清晰.

编辑:我没有意识到这-1是一个潜在有效的价值.不过,为什么不是别的呢?无价值怎么样?

python indexing list

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

为什么微软不使用C#开发类似Halo的下一代游戏?

这个问题可能看似主观,但考虑到微软:

  • 拥有Xbox 360平台
  • 拥有Windows平台
  • 拥有自己的游戏工作室(MGS)
  • 拥有其他第三方开发者
  • 是主要的出版商

让我想知道为什么微软不会推动他们的旗舰语言来证明你不仅可以减少大量的开发时间,还可以减少金钱,而且还可以证明你可以发布下一代的标题,实时交互性不会受到影响.

如果微软要这样做一次,我相信很多AAA开发者也会跳上那辆马车.

.net c#

14
推荐指数
5
解决办法
1078
查看次数

String.Empty和""和null之间有什么区别?

可能重复:
String.Empty和""之间有什么区别

""相当于String.Empty

哪个首选字符串值是首选?

.net c#

14
推荐指数
5
解决办法
2万
查看次数

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

哪一个具有更快的运行时性能:WPF或Winforms?

我知道WPF更复杂,更灵活,可以考虑做更多的计算.但是由于渲染是在GPU上完成的,因此对于相同的应用程序(功能和视觉),它不会比Winforms更快吗?

我的意思是当你没有运行任何游戏或重型3D渲染时,GPU并没有做繁重的工作,对吧?而CPU总是很忙.

这是一个有效的假设,还是WPF的GPU利用率在其管道中是一个非常小的操作?

编辑:我感兴趣的应用程序是一个3D建模和动画软件,您可以在其中使用3d视口来导航和编辑场景以及场景中的对象.但我想使用WPF,因为它的现代架构,它从头开始.

EDIT2:同样出于我的目的,由于软件的高端要求,我会将DirectX用于应用程序本身.对于使用低端的人或没有专用GPU的计算机,这没关系,因为他们不在我的主要客户区域.就像其他用于电影和游戏的高端3D软件一样,要求功能强大的计算机从应用程序中充分受益是可以理解的.

.net c# wpf performance winforms

14
推荐指数
3
解决办法
9665
查看次数

是否更好地使用多个输出值或返回组合值类型?

例如,沿着以下方向:

public bool Intersect (Ray ray, out float distance, out Vector3 normal)
{

}
Run Code Online (Sandbox Code Playgroud)

VS

public IntersectResult Intersect (Ray ray)
{

}

public class IntersectResult
{
    public bool Intersects {get;set;}
    public float Distance {get;set;}
    public Vector3 Normal {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

这对于清晰度,易用性以及最重要的性能而言都更好.

.net c# performance clarity

14
推荐指数
4
解决办法
458
查看次数

如何将.exe加载为.NET程序集?

我可以使用吗?:

Assembly.LoadFile
Run Code Online (Sandbox Code Playgroud)

不确定这是否是这样做的?

但是当我尝试这种方法时,它会抛出一个Could not load file or assembly "CustomControlLib"或一个依赖项.该系统找不到指定的文件.

有任何想法吗?

.net c# reflection .net-assembly

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

如何在C#中以编程方式创建柔和的颜色?

根据所需的颜色数量等间距生成它们.如果指定的计数为8,则看起来像这样:

List<Color> GeneratePastelColors (int count)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

.net c# algorithm colors

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

为什么不允许使用重新分配的集合初始值设定项?

我一直认为它在两方面都很好.然后做了这个测试并意识到它不允许重新分配:

int[] a = {0, 2, 4, 6, 8};
Run Code Online (Sandbox Code Playgroud)

工作正常但不是:

int [ ] a;
a = { 0, 2, 4, 6, 8 };
Run Code Online (Sandbox Code Playgroud)

这有什么技术原因吗?我想我会在这里问一下,因为这种行为是我直觉所期望的.

.net c# compiler-construction collections collection-initializer

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