Questions tagged «c#»

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

15
无法在控制台应用程序的“主要”方法上指定“异步”修饰符
我是使用async修饰符进行异步编程的新手。我试图弄清楚如何确保Main控制台应用程序的方法实际上异步运行。 class Program { static void Main(string[] args) { Bootstrapper bs = new Bootstrapper(); var list = bs.GetList(); } } public class Bootstrapper { public async Task<List<TvChannel>> GetList() { GetPrograms pro = new GetPrograms(); return await pro.DownloadTvChannels(); } } 我知道这不是从“顶部”异步运行的。由于无法async在Main方法上指定修饰符,因此如何在main异步方式内运行代码?


9
List <T>顺序按字母顺序
我在Framework 3.5上使用C#。我希望快速对Generic进行排序List&lt;T&gt;。就本例而言,假设我有一个Person具有姓氏属性的类型的列表。如何使用Lambda表达式对该列表进行排序? List&lt;Person&gt; people = PopulateList(); people.OrderBy(???? =&gt; ?????)
441 c#  generics  list  lambda  sorting 

30
反转字符串的最佳方法
我只需要在C#2.0中编写一个字符串反向函数(即LINQ不可用),并提出了以下建议: public string Reverse(string text) { char[] cArray = text.ToCharArray(); string reverse = String.Empty; for (int i = cArray.Length - 1; i &gt; -1; i--) { reverse += cArray[i]; } return reverse; } 就我个人而言,我并不对功能感到疯狂,并且坚信有更好的方法来实现它。在那儿?





4
LINQ Orderby降序查询
我相信这将是一个相对简单的过程。 我有一个LINQ查询,我想在最近创建的日期之前对其进行排序。 看到: var itemList = from t in ctn.Items where !t.Items &amp;&amp; t.DeliverySelection orderby t.Delivery.SubmissionDate descending select t; 我也尝试过: var itemList = (from t in ctn.Items where !t.Items &amp;&amp; t.DeliverySelection select t).OrderByDescending(); 但这给出了一个错误: 方法'OrderByDescending'的重载不接受0个参数 从我所阅读的内容中,我相当确定我做的第一种方法应该可以工作。我尝试将降序更改为升序,只是看它是否有任何作用,但保持不变。 如果有人可以看一下查询,看看我做错了什么,我将不胜感激。谢谢 :)
438 c#  linq  sql-order-by 


10
“ throw”和“ throw ex”之间有区别吗?
有些帖子问这两者之间已经有什么区别。(为什么我什至不得不提这个...) 但是我的问题有所不同,在另一种类似于神的错误处理方法中,我称呼为“ throw ex” 。 public class Program { public static void Main(string[] args) { try { // something } catch (Exception ex) { HandleException(ex); } } private static void HandleException(Exception ex) { if (ex is ThreadAbortException) { // ignore then, return; } if (ex is ArgumentOutOfRangeException) { // Log …

6
首选哪个:Nullable <T> .HasValue或Nullable <T>!= null?
我一直使用,Nullable&lt;&gt;.HasValue因为我喜欢语义。但是,最近我正在研究别人现有的代码库,而他们只使用了这些代码库Nullable&lt;&gt; != null。 是否有理由优先使用一个,还是纯粹是偏爱? int? a; if (a.HasValue) // ... 与 int? b; if (b != null) // ...
437 c#  .net  null  nullable 

9
如果我的界面必须返回Task,那么执行无操作实现的最佳方法是什么?
在下面的代码中,由于接口的原因,该类LazyBar必须从其方法中返回一个任务(出于参数的考虑,不能更改)。如果LazyBars实现不寻常,因为它恰巧可以快速且同步地运行,那么从该方法返回No-Operation任务的最佳方法是什么? 我已经跟Task.Delay(0)下面,但是我想知道这是否有任何性能的副作用,如果该功能被称为很多(为了讨论各种情形,说上百次),: 这种语法糖是否会发展成大事? 它会开始阻塞我的应用程序的线程池吗? 编译器切割器是否足以应付Delay(0)不同要求? 请问return Task.Run(() =&gt; { });有什么不同? 有没有更好的办法? using System.Threading.Tasks; namespace MyAsyncTest { internal interface IFooFace { Task WillBeLongRunningAsyncInTheMajorityOfImplementations(); } /// &lt;summary&gt; /// An implementation, that unlike most cases, will not have a long-running /// operation in 'WillBeLongRunningAsyncInTheMajorityOfImplementations' /// &lt;/summary&gt; internal class LazyBar : IFooFace { #region …

3
使用Json.net进行序列化时,如何更改属性名称?
我在C#DataSet对象中有一些数据。我现在可以使用像这样的Json.net转换器序列化它 DataSet data = new DataSet(); // do some work here to populate 'data' string output = JsonConvert.SerializeObject(data); 但是,这将使用data打印到.json文件时的属性名称。我想将属性名称更改为其他名称(例如,将“ foo”更改为“ bar”)。 在Json.net文档中的 “序列化和反序列化JSON”→“序列化属性”下,它显示“ JsonPropertyAttribute ...允许自定义名称”。但是没有例子。有谁知道如何使用JsonPropertyAttribute将属性名称更改为其他名称? (直接链接到文档) Json.net的文档似乎很少。如果您有一个很好的例子,我将尝试将其添加到官方文档中。谢谢!


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.