对于一个对象,我可以使用反射获取所有子类吗?
如何删除某些字符或通过某些批处理文件执行将某些字符替换为其他字符,对于一次性Windows文件夹中的所有文件的文件名,是否有DOS命令?
是否有一个函数我可以应用于一个字符串,如果一个字符串包含一个字符,它将返回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"?
我想知道特定于.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) 什么是关于Roslyn项目的CaaS(编译器即服务)?
使用Roslyn功能如何通过当前的C#4.0编译器提高C#应用程序的性能?
Roslyn-CTP中的已知限制/问题是什么?
我有以下代码为类的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)
问题是我需要获得属性的旧值.我怎么做?
谢谢,
是否有任何方法可以自动更新过滤器,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
不需要手动刷新的"不干涉"的洞察力的人.在这一点上,我对任何想法持开放态度.
我理解如何将一个变量(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#的新手,有人可以举个例子.
我正在寻找一个关于如何创建类似枚举类的最佳实践,而不是数字包含字符串值.像这样的东西:
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,因为这是遗留系统,这样的值在任何地方都是硬编码的,我只是想把它们集中在一个地方.
在上面的示例中,问题是我应该用于声明变量:
设置这些类和值的最佳做法是什么?
我怎么知道我的C#控制台应用程序什么时候停止?有没有这样的事件?
谢谢!
c# ×7
.net ×3
string ×3
events ×2
wpf ×2
.net-4.0 ×1
batch-file ×1
cmd ×1
const ×1
file ×1
inheritance ×1
performance ×1
powershell ×1
reflection ×1
roslyn ×1
windows ×1