小编VS1*_*VS1的帖子

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

替换或删除文件夹中所有文件的文件名中的某些字符

如何删除某些字符或通过某些批处理文件执行将某些字符替换为其他字符,对于一次性Windows文件夹中的所有文件的文件名,是否有DOS命令?

windows powershell cmd file batch-file

52
推荐指数
4
解决办法
17万
查看次数

如何检查字符串是否包含C#中的字符?

是否有一个函数我可以应用于一个字符串,如果一个字符串包含一个字符,它将返回true的假.

我有一个或多个字符选项的字符串,例如:

var abc = "s";
var def = "aB";
var ghi = "Sj";
Run Code Online (Sandbox Code Playgroud)

例如,我想要做的是有一个函数,如果上面包含一个小写或大写的"s",它将返回true或false.

if (def.Somefunction("s") == true) { }
Run Code Online (Sandbox Code Playgroud)

同样在C#中,我需要检查一下这样的东西是真的还是我可以删除"== true"?

c# string

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

.Net Framework中的字符串实习 - 有什么好处以及何时使用实习

我想知道特定于.Net框架的字符串实习的过程和内部.还想知道使用实习的好处以及我们应该使用字符串实习来提高性能的场景/情况.虽然我已经从Jeffery Richter的CLR书中学习实习,但我仍然感到困惑,并希望更详细地了解它.

[编辑]使用示例代码询问具体问题如下:

private void MethodA()
{
    string s = "String"; // line 1 - interned literal as explained in the answer        

    //s.intern(); // line 2 - what would happen in line 3 if we uncomment this line, will it make any difference?
}

private bool MethodB(string compareThis)
{
    if (compareThis == "String") // line 3 - will this line use interning (with and without uncommenting line 2 above)?
    {
        return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

.net c# string performance string-interning

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

使用Roslyn - 编译器作为服务有什么好处

什么是关于Roslyn项目的CaaS(编译器即服务)?

使用Roslyn功能如何通过当前的C#4.0编译器提高C#应用程序的性能?

Roslyn-CTP中的已知限制/问题是什么?

compiler-as-a-service roslyn

20
推荐指数
3
解决办法
8981
查看次数

收听DependencyProperty更改事件并获取旧值

我有以下代码为类的VisiblePosition属性订阅属性更改事件Column:

DependencyPropertyDescriptor dpd = DependencyPropertyDescriptor.FromProperty(ColumnBase.VisiblePositionProperty, typeof(Column));

if (dpd != null)
{
   dpd.AddValueChanged(col, ColumnVisiblePositionChangedHandler);
}
Run Code Online (Sandbox Code Playgroud)

以下是该ColumnVisiblePositionChangedHandler方法的定义:

static internal void ColumnVisiblePositionChangedHandler(object sender, EventArgs e)
Run Code Online (Sandbox Code Playgroud)

问题是我需要获得属性的旧值.我怎么做?

谢谢,

wpf dependency-properties

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

自动刷新ICollectionView过滤器

是否有任何方法可以自动更新过滤器,ICollectionView而无需Refresh()在进行相关更改时进行调用?

我有以下内容:

[Notify]
public ICollectionView Workers { get; set; }
Run Code Online (Sandbox Code Playgroud)

此属性中的[Notify]属性刚刚实现,INotifyPropertyChanged但在这种情况下它似乎没有做任何事情.

Workers = new CollectionViewSource { Source = DataManager.Data.Workers }.View;

Workers.Filter = w =>
    {
        Worker worker = w as Worker;
        if (w == null)
            return false;
        return worker.Employer == this;
    };
Run Code Online (Sandbox Code Playgroud)

在XAML中:

<TextBlock x:Name="WorkersTextBlock"
           DataContext="{Binding PlayerGuild}"
           FontFamily="Pericles"
           Text="{Binding Workers.Count,
                          StringFormat=Workers : {0},
                          FallbackValue=Workers : 99}" />
Run Code Online (Sandbox Code Playgroud)

更新:看起来使用ICollectionView对我来说是必要的,所以我想重新审视这个主题.我正在为这个问题添加一笔赏金,其收件人将是任何能够提供有关如何实现ICollectionView不需要手动刷新的"不干涉"的洞察力的人.在这一点上,我对任何想法持开放态度.

c# wpf icollectionview

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

如何在C#backgroundworker中发送更多参数改进了事件

我理解如何将一个变量(progresspercentage)传递给"progresschanged"函数,就像这样.

backgroundWorker1.ProgressChanged += new ProgressChangedEventHandler(backgroundWorker1_ProgressChanged);
Run Code Online (Sandbox Code Playgroud)

...

worker.ReportProgress(pc);
Run Code Online (Sandbox Code Playgroud)

...

private void backgroundWorker1_ProgressChanged(object sender,
ProgressChangedEventArgs e)
{
   this.progressBar1.Value = e.ProgressPercentage;
}
Run Code Online (Sandbox Code Playgroud)

但我想将更多变量传递给这个函数,有些事情如下:

worker.ReportProgress(pc,username,score);
Run Code Online (Sandbox Code Playgroud)

...

private void backgroundWorker1_ProgressChanged(object sender,
ProgressChangedEventArgs e)
{
   this.progressBar1.Value = e.ProgressPercentage;
   this.currentUser.Value = e.UserName;  //as string
   this.score.Value = e.UserScore;  //as int
}
Run Code Online (Sandbox Code Playgroud)

抱歉,我是c#的新手,有人可以举个例子.

c# events backgroundworker

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

类似Enum的课程

我正在寻找一个关于如何创建类似枚举类的最佳实践,而不是数字包含字符串值.像这样的东西:

public static class CustomerType
{
  public static string Type1 = "Customer Type 1";
  public static string Type2 = "Customer Type 2";
}
Run Code Online (Sandbox Code Playgroud)

我会在整个应用程序中使用此类作为我需要CustomerType的所有情况的值.我不能使用Enum,因为这是遗留系统,这样的值在任何地方都是硬编码的,我只是想把它们集中在一个地方.

在上面的示例中,问题是我应该用于声明变量:

  1. 静态只读关键字
  2. const关键字
  3. 或者只是静态的

设置这些类和值的最佳做法是什么?

.net c# string const static-members

10
推荐指数
1
解决办法
4636
查看次数

控制台应用程序C#的关闭事件

我怎么知道我的C#控制台应用程序什么时候停止?有没有这样的事件?

谢谢!

c# events .net-4.0 console-application event-handling

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