小编Jam*_*ead的帖子

你为什么要使用String.Equals而不是==?

我最近被介绍到一个大型代码库,并注意到所有的字符串比较都使用String.Equals()而不是==

你觉得这是什么原因?

c# string equals

306
推荐指数
8
解决办法
27万
查看次数

用于编程频道的最佳IRC服务器?

我一直使用EFnet进行IRC,但最近发现了Freenode.这是程序员最常用的服务器吗?

irc

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

如何避免参数验证

验证原始参数和"复杂数据"

验证参数

在编写方法时,应在执行任何操作之前首先验证参数.例如,假设我们有一个代表人的类:

public class Person
{
    public readonly string Name;
    public readonly int Age;

    public class Person(string name, int age)
    {
        this.Name = name;
        this.Age = age;
    }
}
Run Code Online (Sandbox Code Playgroud)

这个Person类出了什么问题?在将值设置为Person字段之前,不验证名称和年龄."验证?"是什么意思?应该检查两个参数,它们的值是可接受的.例如,如果name的值是空字符串怎么办?或者年龄的值是-10?

通过在值不可接受时抛出ArgumentExceptions或派生异常来执行验证参数.例如:

public class Person(string name, int age)
{
    if (String.IsNullOrEmpty(name))
    {
        throw new ArgumentNullException
            ("name", "Cannot be null or empty.");
    }

    if (age <= 0 || age > 120)
    {
        throw new ArgumentOutOfRangeException
            ("age", "Must be greater than 0 and less than 120.");
    }

    this.Name = name;
    this.Age = …
Run Code Online (Sandbox Code Playgroud)

c# argument-validation

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

.NET:通用字典的可伸缩性

我用a Dictionary<>来存储数以亿计的物品.是否可以安全地假设,只要服务器的内存有足够的空间来容纳我将接近O(1)从中检索项目的这些无数物品?当性能很重要时,我应该知道如何将通用词典用作大缓存?

编辑:我不应该依赖默认的实现?是什么促成了良好的散列函数?

c# generics hash caching dictionary

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

调试WCF服务库 - 如何"运行"它?

我有两个Visual Studio解决方案的源代码.一个是调用WCF服务的网站,另一个是编译成DLL的WCF服务.该网站将WCF服务的二进制DLL作为参考.

问题在于:当我运行网站时,未捕获的异常从WCF服务开始.

如何在Visual Studio中运行WCF服务,以便在WCF服务中设置断点?服务项目设置为编译成DLL,我无法调试带有断点的DLL.在一次Visual Studio实例中"运行"服务并在另一个实例中运行网站时触发异常需要做什么?

这是我第一次接触WCF.

PS:我尝试将WCF服务的项目添加到网站的解决方案中,并因为WCF服务具有依赖关系而得到一些关于我将无法调试它的错误,因此看起来似乎没有选项.

.net debugging wcf

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

Visual Studio调试引用的DLL

我有一个使用编译DLL从另一个Visual Studio解决方案的ASP.NET网站(有DLL的原始解决方案- .cs文件.csproj,.sln等)作为参考.

从这个DLL进入网站有一个例外,我想调试它(DLL).我可以这样做吗?我可以深入研究DLL,设置断点等吗?我听说过"附加调试器",但我从未这样做过,当然也没有使用DLL.这样做的步骤是什么?

.net debugging dll

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

标签 统计

c# ×3

.net ×2

debugging ×2

argument-validation ×1

caching ×1

dictionary ×1

dll ×1

equals ×1

generics ×1

hash ×1

irc ×1

string ×1

wcf ×1