Questions tagged «c#»

C#(发音为“ See Sharp”)是由Microsoft开发的一种高级,静态类型的多范例编程语言。C#代码通常针对Microsoft的.NET系列工具和运行时,其中包括.NET Framework,.NET Core和Xamarin。使用此标记可解决有关用C#或C#正式规范编写的代码的问题。

16
属性与方法
快速提问:您何时决定使用属性(在C#中)以及何时决定使用方法? 我们正忙于这场辩论,并发现了我们应该使用财产还是方法值得商de的地方。一个例子是这样的: public void SetLabel(string text) { Label.Text = text; } 在示例中,Label是ASPX页面上的控件。是否有一个原则可以支配决策(在这种情况下)是将其设为方法还是属性。 我将接受最普遍,最全面的答案,但这也涉及到我给出的示例。
135 c#  properties  methods 

21
如何使用枚举值的自定义字符串格式设置枚举绑定组合框?
在Enum ToString中,描述了一种使用自定义属性的方法,DescriptionAttribute如下所示: Enum HowNice { [Description("Really Nice")] ReallyNice, [Description("Kinda Nice")] SortOfNice, [Description("Not Nice At All")] NotNice } 然后,您GetDescription使用以下语法调用function : GetDescription<HowNice>(NotNice); // Returns "Not Nice At All" 但是,当我只想用枚举的值填充ComboBox时GetDescription,这并没有真正帮助我,因为我不能强制ComboBox调用。 我要具有以下要求: 读取(HowNice)myComboBox.selectedItem将返回所选值作为枚举值。 用户应该看到用户友好的显示字符串,而不仅是枚举值的名称。因此NotNice,用户不会看到“ ”,而是会看到“ Not Nice At All”。 希望该解决方案将需要对现有枚举进行最少的代码更改。 显然,我可以为我创建的每个枚举实现一个新类,并覆盖它的ToString(),但是每个枚举都需要大量工作,因此我宁愿避免这种情况。 有任何想法吗? 哎呀,我什至会拥抱一个赏金:-)
135 c#  combobox  enums 



5
ASP.NET MVC歧义操作方法
我有两种冲突的操作方法。基本上,我希望能够使用两条不同的路线(通过项的ID或项的名称及其父项(在不同的父项中,项可以具有相同的名称))进入同一视图。搜索词可用于过滤列表。 例如... Items/{action}/ParentName/ItemName Items/{action}/1234-4321-1234-4321 这是我的动作方法(也有Remove动作方法)... // Method #1 public ActionResult Assign(string parentName, string itemName) { // Logic to retrieve item's ID here... string itemId = ...; return RedirectToAction("Assign", "Items", new { itemId }); } // Method #2 public ActionResult Assign(string itemId, string searchTerm, int? page) { ... } 这是路线... routes.MapRoute("AssignRemove", …

4
通用方法多重(OR)类型约束
读完这篇文章后,我了解到可以通过使方法成为通用方法来允许方法接受多种类型的参数。在示例中,以下代码与类型约束一起使用,以确保“ U”为IEnumerable<T>。 public T DoSomething<U, T>(U arg) where U : IEnumerable<T> { return arg.First(); } 我发现了更多允许添加多个类型约束的代码,例如: public void test<T>(string a, T arg) where T: ParentClass, ChildClass { //do something } 但是,此代码似乎强制执行,arg必须同时是ParentClass 和 类型ChildClass。我想做的是说arg可以是ParentClass 或 ChildClass的以下类型: public void test<T>(string a, T arg) where T: string OR Exception { //do something } …
135 c#  asp.net-mvc-3  types 


5
从字符串反序列化TextReader
我想从以下位置更改代码: string path = @"c:\Directory\test.xml"; XmlSerializer s = new XmlSerializer(typeof(Car)); TextReader r = new StreamReader(path); Car car = (Car)s.Deserialize(r); r.Close(); 转换为将XML转换为字符串,然后将字符串转换为对象Car的代码。 这可能吗?
135 c#  xml  serialization 

7
C#是否等效于JavaScript的encodeURIComponent()?
在JavaScript中: encodeURIComponent("©√") == "%C2%A9%E2%88%9A" C#应用程序是否等效?为了转义HTML字符,我使用了: txtOut.Text = Regex.Replace(txtIn.Text, @"[\u0080-\uFFFF]", m => @"&#" + ((int)m.Value[0]).ToString() + ";"); 但是我不确定如何将匹配项转换为JS使用的正确十六进制格式。例如此代码: txtOut.Text = Regex.Replace(txtIn.Text, @"[\u0080-\uFFFF]", m => @"%" + String.Format("{0:x}", ((int)m.Value[0]))); 返回“ %a9%221a"的"©√",而不是"%C2%A9%E2%88%9A"它看起来像我需要了分割字符串为字节或东西。 编辑:这是一个Windows应用程序中,唯一可用的项目System.Web有:AspNetHostingPermission,AspNetHostingPermissionAttribute,和AspNetHostingPermissionLevel。

8
SynchronizationContext做什么?
在《 Programming C#》一书中,有一些有关SynchronizationContext以下示例代码: SynchronizationContext originalContext = SynchronizationContext.Current; ThreadPool.QueueUserWorkItem(delegate { string text = File.ReadAllText(@"c:\temp\log.txt"); originalContext.Post(delegate { myTextBox.Text = text; }, null); }); 我是主题初学者,所以请详细回答。首先,我不知道上下文是什么意思,程序保存在中originalContext什么?当该Post方法被触发时,UI线程将做什么? 如果我问一些愚蠢的事情,请指正我,谢谢! 编辑:例如,如果我只是myTextBox.Text = text;在方法中写什么,有什么区别?
135 c#  .net  multithreading 

10
警告未等待此调用,继续执行当前方法
刚拿到VS2012并试图了解async。 假设我有一个从阻塞源获取一些值的方法。我不希望该方法的调用者阻塞。我可以编写该方法以接收值到达时调用的回调,但是由于我使用的是C#5,因此我决定使该方法异步,以便调用者不必处理回调: // contrived example (edited in response to Servy's comment) public static Task<string> PromptForStringAsync(string prompt) { return Task.Factory.StartNew(() => { Console.Write(prompt); return Console.ReadLine(); }); } 这是一个调用它的示例方法。如果PromptForStringAsync不是异步的,则此方法将需要在回调中嵌套一个回调。使用异步,我可以用这种非常自然的方式编写方法: public static async Task GetNameAsync() { string firstname = await PromptForStringAsync("Enter your first name: "); Console.WriteLine("Welcome {0}.", firstname); string lastname = await PromptForStringAsync("Enter …
135 c#  async-await 


7
获取一个月中的天数
我有一个包含所有月份的comboBox。 我需要知道的是所选月份中的天数。 var month = cmbMonth.SelectedIndex + 1; DateTime date = Convert.ToDateTime(month); 因此,如果用户选择一月,则需要将31保存到变量中。
135 c#  datetime 


9
.NET Core控制台应用程序的ASP.NET Core配置
ASP.NET Core支持一个新的配置系统,如下所示:https : //docs.asp.net/en/latest/fundamentals/configuration.html .NET Core控制台应用程序也支持此模型吗? 如果没有什么是替代以前的app.config和ConfigurationManager模式?
135 c#  .net-core 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.