Tag: C#的

replacestring中的最后一个单词 – c#

我有一个问题,我需要replacestring中最后一个单词的出现。 情况:我给了一个这种格式的string: string filePath ="F:/jan11/MFrame/Templates/feb11"; 然后我TnaName这样的TnaName : filePath = filePath.Replace(TnaName, ""); //feb11 is TnaName 这工作,但我有一个问题,当TnaName是相同的我的folder name 。 当发生这种情况时,我最终得到一个像这样的string: F:/feb11/MFrame/Templates/feb11 现在它已经用TnaName代替了两个feb11 。 有没有一种方法可以replace我的string中单词的最后一个出现? 谢谢。 注: feb11是来自另一个进程的TnaName – 这不是一个问题。

asp.net c#MVC:如何没有ViewState生活?

我正在考虑将WebForms转换为MVC: 在.net MVC中,什么概念使得ViewState不需要? 如果一个表单被发回iteself等(即回发)? page / usercontrol如何保持其状态? 人们为维护某种状态而采取什么样的手段而不诉诸会话状态? 当然,一个完全无国籍的环境是不存在的?

C#4.0编译器崩溃

此代码示例不能被编译。 任何工作在那里? using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { using church = Func<dynamic, dynamic, dynamic>; class Program { static void Main(string[] args) { church True = (a, b) => a; church False = (a, b) => b; Func<church, church, church> And = (x, y) => x(y(True, False), False); } } } […]

部分类在不同的命名空间

我可以在不同的命名空间中创build部分类吗? 它会正常工作吗? 例如: 将Class1.cs namespace name1 { public partial class Foo { Bar1(){ return 10; } } } class2.cs namespace name1.name2 { public partial class Foo { Bar2(){ return 100; } } } main.cs using name1; using name1.name2; namespace mainClass { public class mainClass { Foo classFoo = new Foo(); int Count = classFoo.Bar1() + […]

如何在C#XML注释中显示'<'char?

我search了很多,但无法find如何在C#XML注释中显示'<'char?

是否有可能不使用Visual Studio安装C#编译器?

我想从命令行构build项目。 是不是可以在不安装Visual Studio的情况下部署C#编译器?

如何将@selector作为parameter passing?

对于该方法: [NSThread detachNewThreadSelector:@selector(method:) toTarget:self withObject:(id)SELECTOR]; 我如何通过@select器? 我试图将其转换为(id)使其编译,但它在运行时崩溃。 更具体地说,我有一个这样的方法: +(void)method1:(SEL)selector{ [NSThread detachNewThreadSelector:@selector(method2:) toTarget:self withObject:selector]; } 它崩溃。 如何在不崩溃的情况下传递select器,以便在线程准备就绪时新线程可以调用select器?

如何正确停止BackgroundWorker

我有一个2combobox的forms。 我想要填充combobox2.DataSource基于combobox1.Text和combobox2.Text (我假设用户已经完成在combobox1input,并在combobox2input中间)。 所以我有一个combobox2事件处理程序是这样的: private void combobox2_TextChanged(object sender, EventArgs e) { if (cmbDataSourceExtractor.IsBusy) cmbDataSourceExtractor.CancelAsync(); var filledComboboxValues = new FilledComboboxValues{ V1 = combobox1.Text, V2 = combobox2.Text}; cmbDataSourceExtractor.RunWorkerAsync(filledComboboxValues ); } 至于构buildDataSource是耗时的过程(它创build一个对数据库的请求并执行它),我决定最好在另一个使用BackgroundWorker的进程中执行它。 因此,当cmbDataSourceExtractor尚未完成其工作并且用户再次input一个符号时,就会出现这种情况。 在这种情况下,我在这一行上得到一个exception cmbDataSourceExtractor.RunWorkerAsync(filledComboboxValues ); 关于BackgroundWorker繁忙,不能在同一时间执行多个操作。 如何摆脱这个exception? 提前致谢!

是否在foreach(item中的T item)之前是多余的(items!= null)?

我经常遇到如下代码: if ( items != null) { foreach(T item in items) { //… } } 基本上, if条件确保只有在items不为null时才会执行foreach块。 我想知道如果条件是真的需要,或者foreach将处理的情况下,如果items == null 。 我的意思是,我可以简单写一下吗? foreach(T item in items) { //… } 而不用担心items是否为空? if条件是多余的? 或者这取决于items的types ,或者也可能在T ?

DataGridView自动调整和填充

我有我的DataGridView 3列。 我想要做的是有前2列自动适应内容的宽度,并有第三列填补剩余的空间。 在WinForms中可以做到吗? 我正在从EF DataContext加载我的数据,如果这是任何使用。 我已经包括了它目前的样子。