Questions tagged «c#»

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

11
如何开始开发Internet Explorer扩展?
在座的人中是否有人具有开发或共享知识的IE扩展的经验?这将包括代码示例,或指向好的示例的链接,或有关流程的文档,或任何内容。 我真的很想这样做,但是我却遇到了糟糕的文档,糟糕的代码/示例代码/缺少它。您可以提供的任何帮助/资源将不胜感激。 具体来说,我想从如何从IE扩展中访问/操纵DOM开始。 编辑,更多详细信息: 理想情况下,我想植入一个工具栏按钮,单击该工具栏按钮时,会弹出一个包含指向外部站点的链接的菜单。我还想访问DOM并根据某些条件在页面上植入JavaScript。 在IE扩展中保留信息的最佳方法是什么?在Firefox / Chrome /大多数现代浏览器中,您使用window.localStorage,但显然不能与IE8 / IE7一起。也许是SQLite数据库或类似的?可以假设将.NET 4.0安装在用户的计算机上吗? 我不想使用Spice IE,因为我也想构建一个与IE9兼容的。我也向这个问题添加了C ++标记,因为如果最好在C ++中构建一个,则可以这样做。

4
删除字符串中第一个字符的最快方法
说我们有以下字符串 string data= "/temp string"; 如果我们想删除第一个字符,/我们可以通过很多方法来完成,例如: data.Remove(0,1); data.TrimStart('/'); data.Substring(1); 但是,我真的不知道哪一个具有最好的算法,做更快.. 是否有一个最好的,或者都是一样的吗?

7
Exception.Message与Exception.ToString()
我有正在记录的代码Exception.Message。但是,我读了一篇文章,指出最好使用Exception.ToString()。使用后者,您可以保留有关该错误的更多关键信息。 这是真的,继续所有代码记录Exception.Message是否安全? 我还在log4net上使用基于XML的布局。是否Exception.ToString()可能包含无效的XML字符,这可能会引起问题?

12
在条件表达式中检查可空布尔的最佳方法(如果…)
我想知道在对可空布尔进行条件检查时最干净,最易懂的语法是什么。 以下的编码风格是好是坏?有没有一种更好/更干净地表达条件的方法? bool? nullableBool = true; if (nullableBool ?? false) { ... } else { ... } 尤其是if(nullableBool ?? false)部分。我不喜欢这种if (x.HasValue && x.Value)风格... (不确定是否曾经问过这个问题……无法在搜索中找到类似的内容)


5
格式化十进制百分比值?
我想要的是这样的: String.Format("Value: {0:%%}.", 0.8526) %%是该格式提供程序或我正在寻找的任何内容。结果应为:Value: %85.26.。 对于wpf绑定,我基本上需要它,但首先让我们解决一般的格式设置问题: <TextBlock Text="{Binding Percent, StringFormat=%%}" />

12
如何将TimeSpan序列化为XML
我正在尝试将.NET TimeSpan对象序列化为XML,但无法正常工作。一个快速的谷歌建议,虽然TimeSpan可序列化,XmlCustomFormatter但不提供将TimeSpan对象与XML 相互转换的方法。 一种建议的方法是忽略TimeSpan序列化,而序列化结果TimeSpan.Ticks(并new TimeSpan(ticks)用于反序列化)。下面是一个示例: [Serializable] public class MyClass { // Local Variable private TimeSpan m_TimeSinceLastEvent; // Public Property - XmlIgnore as it doesn't serialize anyway [XmlIgnore] public TimeSpan TimeSinceLastEvent { get { return m_TimeSinceLastEvent; } set { m_TimeSinceLastEvent = value; } } // Pretend property for serialization [XmlElement("TimeSinceLastEvent")] public …


6
Task.Start / Wait和Async / Await有什么区别?
我可能会丢失一些东西,但是这样做之间有什么区别: public void MyMethod() { Task t = Task.Factory.StartNew(DoSomethingThatTakesTime); t.Wait(); UpdateLabelToSayItsComplete(); } public async void MyMethod() { var result = Task.Factory.StartNew(DoSomethingThatTakesTime); await result; UpdateLabelToSayItsComplete(); } private void DoSomethingThatTakesTime() { Thread.Sleep(10000); }

10
使用C#反序列化JSON
我正在尝试将Facebook朋友的Graph API 调用反序列化为对象列表。JSON对象如下所示: {"data":[{"id":"518523721","name":"ftyft"}, {"id":"527032438","name":"ftyftyf"}, {"id":"527572047","name":"ftgft"}, {"id":"531141884","name":"ftftft"}, {"id":"532652067","name"... List<EFacebook> facebooks = new JavaScriptSerializer().Deserialize<List<EFacebook>>(result); 它不起作用,因为原始对象无效。我该如何反序列化?
206 c#  json 

6
字符串列表到一个字符串
假设您有一个: List<string> los = new List<string>(); 在这个疯狂的功能世界中,我们生活在这些日子中,其中之一最适合通过串联以下内容来创建一个字符串: String.Join(String.Empty, los.ToArray()); StringBuilder builder = new StringBuilder(); los.ForEach(s => builder.Append(s)); string disp = los.Aggregate<string>((a, b) => a + b); 或普通的旧StringBuilder foreach 或者,还有更好的方法?

9
从另一个列表中删除项目
我试图弄清楚如何遍历要从另一个项目列表中删除的项目的一般列表。 假设我有一个假设的例子 List<car> list1 = GetTheList(); List<car> list2 = GetSomeOtherList(); 我想使用foreach遍历list1并删除List2中也包含的List1中的每个项目。 我不太确定该怎么做,因为foreach不是基于索引的。
206 c#  .net  list 

9
等到过程结束
我有一个应用程序 Process.Start() 启动另一个应用程序“ ABC”。我要等到该应用程序结束(进程终止)并继续执行。我该怎么做? 应用程序“ ABC”可能同时运行多个实例。
206 c#  .net  process 

8
从C#中的URI字符串获取文件名
我有这种方法可以从字符串URI中获取文件名。我该怎么做才能使其更坚固? private string GetFileName(string hrefLink) { string[] parts = hrefLink.Split('/'); string fileName = ""; if (parts.Length > 0) fileName = parts[parts.Length - 1]; else fileName = hrefLink; return fileName; }
206 c#  string  uri  filenames 

5
如何使ComboBox在.NET中不可编辑?
我希望有一个“仅选择” ComboBox,它提供项目列表供用户选择。ComboBox控件的文本部分中应禁用键入。 我最初对此进行了搜索,结果发现了一个过于复杂,误导性的建议来捕获KeyPress事件。
205 c#  .net  winforms  combobox 

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.