小编Poo*_*ven的帖子

Linq:Select和Where有什么区别

这些SelectWhere方法在Linq中可用.每个开发人员应该了解这两种方法?例如:何时使用一个优于另一个,使用一个优于另一个的任何优点,等等.

.net linq select where

113
推荐指数
7
解决办法
5万
查看次数

什么是符号表?

有人能描述符号表在C和C++的上下文中是什么吗?

c c++ symbol-table

81
推荐指数
4
解决办法
6万
查看次数

如何比较泛型类型的值?

如何比较泛型类型的值?

我把它减少到最小的样本:

public class Foo<T> where T : IComparable
{
    private T _minimumValue = default(T);

    public bool IsInRange(T value) 
    {
        return (value >= _minimumValue); // <-- Error here
    }
}
Run Code Online (Sandbox Code Playgroud)

错误是:

运算符'> ='不能应用于'T'和'T'类型的操作数.

到底怎么回事!?T已被约束到IComparable,甚至它限制值类型(的时候where T: struct),我们仍然不能将任何运营商<,>,<=,>=,==!=.(我知道,涉及到解决方法Equals()的存在==!=,但它并不能帮助对于关系运算符).

那么,有两个问题:

  1. 为什么我们观察到这种奇怪的行为?是什么让我们从比较这是泛型类型的值称为IComparable?它不是以某种方式打败了通用约束的整个目的吗?
  2. 我该如何解决这个问题,或至少解决这个问题?

(我意识到已经有一些问题与这个看似简单的问题有关 - 但没有一个线程能给出详尽或可行的答案,所以在这里.)

.net c# generics icomparable

70
推荐指数
4
解决办法
6万
查看次数

xpath:查找具有给定属性且其值包含字符串的节点

是否有一种xpath方法来查找具有给定属性的节点,该属性的值包含给定的字符串?

例如,我有一个xml文档,并希望找到address属性包含字符串的节点Downing,以便我可以找到以下节点:

<person name="blair" address="10 Downing St. London"/>
Run Code Online (Sandbox Code Playgroud)

xml xpath contains

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

简单的IEnumerator使用(带示例)

我在记住如何(但不是为什么)IEnumerator在C#中使用s 时遇到了麻烦.我已经习惯了Java的精彩文档,可以很好地向初学者解释一切.所以拜托,请耐心等待.

我试过从这些板上的其他答案中学习无济于事.我没有问过之前已经提出的一般性问题,而是有一个具体的例子可以为我澄清一些事情.

假设我有一个需要传递IEnumerable<String>对象的方法.所有方法需要做的是将字母连接roxxorsString迭代器中每个字符的末尾.然后它将返回这个新的迭代器(当然原始IEnumerable对象保持不变).

我该怎么做?当然,除了我之外,这里的答案应该可以帮助许多人解决有关这些对象的基本问题.

c# ienumerator

66
推荐指数
4
解决办法
16万
查看次数

C#枚举:可空或"未知"值?

如果我有一个enum成员的类,我希望能够代表没有定义该成员的情况,哪个更好?

a)使用可空类型将该成员声明为类中可为空的.例如:

public SomeEnum? myEnum;
Run Code Online (Sandbox Code Playgroud)

b)在枚举中添加默认的"未知"值.例如:

public enum SomeEnum {
    Unknown,
    SomeValueA,
    SomeValueB,
    SomeValueC,
}
Run Code Online (Sandbox Code Playgroud)

无论如何,我都无法看到任何重大利弊; 但也许一个优于另一个?

c# enums

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

C#发行版仍有.pdb文件

我想部署在C#中完成的应用程序的发布版本.

当我使用Release配置构建时,我仍然可以看到生成了.pdb文件,这意味着我的应用程序仍然可以调试.这也意味着我的代码中某处存在一些调试信息,从而使其速度降低一些.

如果是这样,我怎样才能完全抑制二进制文件中产生的任何调试信息?你也知道释放的原因.pdb吗?该Release配置具有Optimize code检查,并且只有TRACE常数被定义,而不是DEBUG.

谢谢你的帮助.

c# release-mode pdb-files

58
推荐指数
5
解决办法
4万
查看次数

CurrentCulture,InvariantCulture,CurrentUICulture和InstalledUICulture之间的区别

是什么区别CurrentCulture,InvariantCulture,CurrentUICultureInstalledUICultureSystem.Globalization.CultureInfo

.net globalization internationalization

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

C# - 是否可以使用空参数?

public void Foo(params string[] values)
{
}
Run Code Online (Sandbox Code Playgroud)

有可能valuesnull,或者总是设置0或更多的项目?

c# parameters params

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

long和int数据类型之间的区别

考虑到以下语句返回4,C++中的intlong类型之间有什么区别?

sizeof(int)
sizeof(long)
Run Code Online (Sandbox Code Playgroud)

c++ size types integer

46
推荐指数
3
解决办法
11万
查看次数