小编Joa*_*nge的帖子

多变量方法的实例与静态方法

如果你有一个Point3类并且有一个方法被调用Distance,你应该像这样静态:

Point3.Distance ( p1, p2 );
Run Code Online (Sandbox Code Playgroud)

或者类似的实例方法:

this.Distance ( p );
Run Code Online (Sandbox Code Playgroud)

我意识到使用静态方法阻碍了继承和覆盖,对吧?

哪一个更好,为什么?

.net c#

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

收集实现特定接口而不进行转换的类型?

基本上我想知道特定命名空间中的所有类型是否实现了特定的接口IEnumerable.

我知道我能做到:

foreach type ...
    if type is IEnumerable
        ...
Run Code Online (Sandbox Code Playgroud)

但我不想只是为了查询它是否实现了一个接口来强制转换类型,因为无论如何都会抛弃转换.

.net c# interface

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

如何为不可变类型创建const成员?

如果你有一个这样的不可变类型:

struct Point3
{

}
Run Code Online (Sandbox Code Playgroud)

和一个像来源一样的成员:

public static const Point3 Origin = new Point3 (0,0,0);
Run Code Online (Sandbox Code Playgroud)

你应该使用:

new Point3 (0,0,0)
Run Code Online (Sandbox Code Playgroud)

在我看来,由于这种类型无法改变,为什么有许多起源本质上是相同的?就像我们永远不会改变0,对吗?

如何为不可变类型实现相同的功能?

.net c# struct immutability

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

可以为值的值类型

如果值类型被声明为可为空,那么我该如何采取预防措施呢?即如果在构造函数中我有:

public Point3 ( Point3 source )
{
    this.X = source.X;
    this.Y = source.Y;
    this.Z = source.Z;
}
Run Code Online (Sandbox Code Playgroud)

如果来源为空,它会失败吗?

.net c# nullable value-type

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

Visual Studio 2008 Pro中缺少颜色选项

当我转到选项>字体和颜色时,缺少一些颜色选项,如用户类型.

有谁知道为什么会这样?


编辑:

我也没有在"关于"对话框中看到图像.应该像对齐横幅一样位于对话框顶部的那个.

visual-studio

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

过滤"垂直"和"水平"集合意味着什么?

在Essential C#3.0一书中,有一部分内容如下:

"使用select()方法进行投影非常强大.我们已经看到了如何 使用Where()标准查询运算符垂直过滤集合(减少集合中的项目数).现在,通过Select()标准查询运算符,我们还可以水平减少集合 (减少列数)或完全转换数据.

Where()和Select()提供了一种仅提取当前算法所需的原始集合片段的方法."

在这种情况下,横向和纵向意味着什么?这些方法对集合的枚举方式有何不同?

.net c# linq

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

解析这种字符串模式最干净的方法?

我有音乐文件名,如:

Gorillaz (2001)
Gorillaz (7th State Mix) (2002)
Gorillaz (2001) (Featuring Travis)
Gorillaz (1Mix) (2003)
Gorillaz (1000) (2001)
Run Code Online (Sandbox Code Playgroud)

如何以最干净,最简单的方式解析年份?

现在我通过查找每个来解析它们'('然后确保()s 之间的字符数是4并且第一个char是1或2并且它们可以被解析,使用TryParse

我可以使用一个正则表达式解析这些类型的字符串吗?


编辑:

这一年最长可达50-60岁,因此不超过1950年.

.net c# regex string parsing

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

有哪些类型的限制可以阻止我在.NET中修改内置类型?

如果有类型需要修改以满足项目要求,那么有哪些类型的限制?

通过修改我的意思:

  1. 找到您感兴趣的类型最接近您需要的类型.
  2. 用反射器拆卸它.
  3. 根据您自己的规范进行修改.
  4. 在应用程序中使用新类型(在另一个命名空间中).
  5. 将您的应用作为商业或开源发布.

这样做完全没问题吗?

.net c#

0
推荐指数
3
解决办法
144
查看次数

为什么我不能在从它派生时访问List <T>的类内部?

class NewList<T> : List<T>
Run Code Online (Sandbox Code Playgroud)

为什么我不能访问它的内部T[] _items等等?

为什么他们不受保护,而是私人?

我应该为此使用合成吗?

.net c# inheritance list

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

为什么Object.ToString是一个虚方法?

如果它不是一个虚拟方法,你仍然可以通过ToString正常编写方法来达到同样的效果,对吧?

您甚至可以使用可选new关键字.

这会有更好的表现吗?

.net c#

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