小编Bla*_*rad的帖子

在Capital Letter之前添加空格

给定字符串"ThisStringHasNoSpacesButItDoesHaveCapitals",在大写字母之前添加空格的最佳方法是什么.所以结束字符串将是"这个字符串没有空格,但它有资本"

以下是我使用RegEx的尝试

System.Text.RegularExpressions.Regex.Replace(value, "[A-Z]", " $0")
Run Code Online (Sandbox Code Playgroud)

c# regex string

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

在.NET中使用System.String.Copy有什么用?

我担心这是一个非常愚蠢的问题,但我必须遗漏一些东西.

为什么可能要使用String.Copy(string)

文档说明了这种方法

使用与指定String相同的值创建String的新实例.

由于字符串在.NET中是不可变的,我不确定使用此方法的好处是什么,正如我所想的那样

 string copy = String.Copy(otherString);
Run Code Online (Sandbox Code Playgroud)

出于所有实际目的,似乎会产生与之相同的结果

 string copy = otherString;
Run Code Online (Sandbox Code Playgroud)

也就是说,除了正在进行的任何内部簿记,以及副本不是ReferenceEqualsotherString 的事实,没有可观察到的差异 - 字符串是一个不可变的类,其相等性基于值,而不是身份.(感谢@Andrew Hare指出我的原始措辞不够精确,表明我意识到Copying和not 之间存在差异,但是担心缺乏有用的差异.)

当然,当传递null参数时,Copy会抛出一个ArgumentNullException,而"new instance"可能会占用更多内存.后者几乎不是一个好处,我不确定无效检查是一个足够大的奖金来保证整个复制方法.

谢谢.

.net string copy immutability

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

如何从字典中按照插入的顺序检索项目?

是否可以按照插入的顺序从Python字典中检索项目?

python dictionary

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

C#程序可以以某种方式测量自己的CPU使用率吗?

我正在开发一个将运行很长时间的后台程序,我有一个外部日志记录程序(SmartInspect),我希望定期提供一些值,以便在调试时实时监控它.

我知道我可以简单地启动多个程序,比如任务管理器或IARSN TaskInfo,但是我想在我自己的程序中保留所有内容,因为我还想添加一些简单的规则,比如程序使用的多于X%CPU,在日志中标记它.

我有一个后台线程,定期向SmartInspect提供一些统计信息,如内存消耗,工作集等.

这个线程是否有可能合理准确地衡量它消耗的计算机CPU资源量?主程序是单线程应用程序(除了记录统计信息的监视程序线程),因此如果一种技术仅限于单个线程使用多少,那么这也是好的.

我找到了一些与Linux和C的rusage相关的条目.我可以使用类似的东西吗?


编辑:好的,我尝试了性能计数器方式,但每次调用时都添加了大量的GC数据,因此内存使用和垃圾收集的图表飙升.我想我现在就把这部分留下来.

c# cpu monitoring performancecounter

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

C#错误:使用未分配的局部变量

我不知道为什么我会收到这个错误,但是这个代码不应该编译,因为我已经检查了队列是否被初始化了?

public static void Main(String[] args)
{
    Byte maxSize;
    Queue queue;

    if(args.Length != 0)
    {
        if(Byte.TryParse(args[0], out maxSize))
            queue = new Queue(){MaxSize = maxSize};
        else
            Environment.Exit(0);
    }
    else
    {
        Environment.Exit(0);
    }

    for(Byte j = 0; j < queue.MaxSize; j++)
        queue.Insert(j);
    for(Byte j = 0; j < queue.MaxSize; j++)
        Console.WriteLine(queue.Remove());
}
Run Code Online (Sandbox Code Playgroud)

所以如果没有初始化队列,那么for循环是不可以访问的吗?由于程序已经以Environment.Exit(0)终止?

希望你能给我一些指示:)

谢谢.

c# initialization

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

什么 - >在F#中意味着什么?

我一直试图进入和关闭F#一段时间,但我一直在推迟.为什么?

因为无论我尝试查看哪些"初学者"资源,我都会看到开始使用运算符的非常简单的示例->.

然而,我还没有找到任何地方,它提供了这个运算符意味着什么的清晰简单的解释.它似乎必须如此明显,即使完成新手也不需要解释.

因此,我必须非常密集,或者可能是将近三年的经历阻碍了我.

有人可以请,解释它或指向一个可以解释它的真正可访问的资源吗?

f# functional-programming

25
推荐指数
3
解决办法
4659
查看次数

添加天数到日期但不包括周末

给定一个日期我如何添加一些天数,但不包括周末.例如,鉴于11/12/2008(星期三),并且将在2008年11月19日(星期三)而不是11/17/2008(星期一)增加5.

我可以想到一个简单的解决方案,比如循环每天添加和检查是否是一个周末,但我想看看是否有更优雅的东西.我也对任何F#解决方案感兴趣.

c# f# date

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

属性"ID"的正确命名约定是什么:ID或Id?

非常简单的问题:当我有一个可持久的对象时,它通常有一个名为ID的属性(用于抽象类).

那么..是命名约定ID还是Id?

例如.

public int ID { get; set; }
Run Code Online (Sandbox Code Playgroud)

要么

public int Id { get; set; }
Run Code Online (Sandbox Code Playgroud)

欢呼:)

PS.这适用于.NET btw.FXCop conformat将是一个奖金.

.net fxcop naming-conventions

24
推荐指数
3
解决办法
3998
查看次数

静态类别 具有私有构造函数的类以及所有静态属性和方法?

当我创建实用程序类时,我通常会创建一个具有私有构造函数的类,并将其所有方法和属性公开为static.对此最好的方法是什么?我的方式或创建静态类有什么区别?

.net c#

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

是否可以将ID的集合作为ADO.NET SQL参数发送?

例如.我可以写这样的代码:

public void InactiveCustomers(IEnumerable<Guid> customerIDs)
{
    //...
    myAdoCommand.CommandText =
        "UPDATE Customer SET Active = 0 WHERE CustomerID in (@CustomerIDs)";
    myAdoCommand.Parameters["@CustomerIDs"].Value = customerIDs;
    //...
}
Run Code Online (Sandbox Code Playgroud)

我知道的唯一方法是加入我的IEnumerable,然后使用字符串连接来构建我的SQL字符串.

.net sql ado.net

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