小编maf*_*afu的帖子

如何实现显示"在此处输入"的TextBox?

显示" 在此处键入... ",直到用户将文本输入到a中,这TextBox是当今众所周知的可用性功能.如何在C#中实现此功能?

我的想法是覆盖OnTextChanged,但处理文本更改的逻辑" 在这里输入 "有点棘手......

在初始化时显示" 在此输入 "并在第一次输入时将其删除很容易,但我想在每次输入的文本变空时显示消息.

c# textbox winforms

39
推荐指数
4
解决办法
9万
查看次数

如何在字符串中自动显示类的所有属性及其值?

想象一下有很多公共财产的班级.出于某种原因,不可能将此类重构为较小的子类.

我想添加一个ToString覆盖,返回以下内容:

Property 1: Value of property 1\n
Property 2: Value of property 2\n
...

有没有办法做到这一点?

.net c# properties tostring

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

为什么再次编译时二进制输出不相等?

我正在使用构建脚本来编译几个C#项目.二进制输出被复制到结果文件夹,覆盖以前版本的文件,然后添加/提交到subversion.

我注意到,即使源或环境没有任何变化,编译的二进制输出也是不同的.这怎么可能?对于相同的输入,二进制结果是否应该完全相等?

我不是故意在任何地方使用任何类型的特殊时间戳,但编译器(Microsoft,.NET 4.0中包含的那个)可能会自己添加时间戳吗?

我问的原因是我将输出提交给subversion,并且由于我们的构建服务器的工作方式,已签入的更改会触发重建,导致再次修改的二进制文件以圆圈形式签入.

c# compiler-construction binaryfiles .net-4.0 binary-reproducibility

34
推荐指数
3
解决办法
5962
查看次数

如何按字符串拆分字符串并使用.NET包含分隔符?

有许多类似的问题,但显然没有完美的匹配,这就是我要问的原因.

我想分裂一个随机字符串(如123xx456yy789通过字符串分隔符的列表)(例如xx,yy),并包括在结果中的分隔符(在这里:123,xx,456,yy,789).

良好的表现是一个很好的奖金.如果可能的话,应该避免使用正则表达式.

更新:我做了一些性能检查并比较了结果(虽然懒得正式检查).测试的解决方案是(随机顺序):

  1. 加布
  2. Guffa
  3. 马腹
  4. 正则表达式

其他解决方案未经过测试,因为它们与其他解决方案类似,或者来得太晚.

这是测试代码:

class Program
{
    private static readonly List<Func<string, List<string>, List<string>>> Functions;
    private static readonly List<string> Sources;
    private static readonly List<List<string>> Delimiters;

    static Program ()
    {
        Functions = new List<Func<string, List<string>, List<string>>> ();
        Functions.Add ((s, l) => s.SplitIncludeDelimiters_Gabe (l).ToList ());
        Functions.Add ((s, l) => s.SplitIncludeDelimiters_Guffa (l).ToList ());
        Functions.Add ((s, l) => s.SplitIncludeDelimiters_Naive (l).ToList ());
        Functions.Add …
Run Code Online (Sandbox Code Playgroud)

.net c# string

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

如何启动优先级较低的流程?C#

我想执行命令行工具来处理数据.它不需要阻止.我希望它是低优先级.所以我写了下面的内容

 Process app = new Process();
 app.StartInfo.FileName = @"bin\convert.exe";
 app.StartInfo.Arguments = TheArgs;
 app.PriorityClass = ProcessPriorityClass.BelowNormal;
 app.Start();
Run Code Online (Sandbox Code Playgroud)

但是,我得到一条System.InvalidOperationException消息"没有进程与此对象关联." 为什么?如何以低优先级正确启动此应用程序?

没有这条线app.PriorityClass = ProcessPriorityClass.BelowNormal;,应用运行正常.

c# process shellexecute

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

我正确实施IDisposable吗?

这个类使用a StreamWriter并因此实现IDisposable.

public class Foo : IDisposable
{
    private StreamWriter _Writer;

    public Foo (String path)
    {
        // here happens something along the lines of:
        FileStream fileWrite = File.Open (path, FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite);
        _Writer = new StreamWriter (fileWrite, new ASCIIEncoding ());
    }

    public void Dispose ()
    {
        Dispose (true);
        GC.SuppressFinalize (this);
    }

    ~Foo()
    {
        Dispose (false);
    }

    protected virtual void Dispose (bool disposing)
    {
        if (_Disposed) {
            return;
        }
        if (disposing) {
            _Writer.Dispose ();
        }
        _Writer = null; …
Run Code Online (Sandbox Code Playgroud)

c# idisposable

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

我应该在throws规范中声明未经检查的异常吗?

我知道必须处理或指定已检查的异常,但未经检查的异常是可选的.

如果由于某种原因我可以合理地预期在方法中发生未经检查的异常,我应该将它添加到throws规范吗?或者我应该尽可能缩短规格?

java exception throws

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

是否有C#的官方标识?

我目前正在处理涉及C#(和.NET)的演示文稿.是否有某种编程语言的官方标识?如果是这样,你知道一个免费的图像源吗?我试过谷歌但无济于事.

c#

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

现代PC的内部时钟有多精确?

我知道10年前,典型的时钟精度等于系统标记,其范围为10-30ms.在过去几年中,精确度分多步增加.如今,有一些方法可以测量实际纳秒的时间间隔.但是,通常的框架仍然会以大约15ms的精度返回时间.

我的问题是,哪些步骤确实提高了精度,如何以纳秒为单位进行测量,以及为什么我们仍然经常获得小于微秒的精度(例如在.NET中).

(免责声明:我之前没有问过这个奇怪的事情,所以我猜我在搜索时错过了这个问题.请关闭并指出我的问题,谢谢.我相信这属于SO而不是任何其他SOFU网站.我理解精度和准确度之间的区别.)

datetime clock time-precision

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

如何计算SQLite中的值的中位数?

我想计算数字行中的中值.我怎么能在SQLite 4中做到这一点?

sqlite median

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