Questions tagged «c#»

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

8
任务和线程有什么区别?
在C#4.0中,我们Task在System.Threading.Tasks命名空间中。Thread和之间的真正区别是什么Task。为了我自己的学习,我做了一些示例程序(来自MSDN的帮助) Parallel.Invoke Parallel.For Parallel.ForEach 但是有很多疑问,因为这个想法不太清楚。 我最初在Stackoverflow中搜索了类似类型的问题,但可能与此问题标题有关,我无法获得相同的问题。如果有人知道先前在此处发布的相同类型的问题,请提供链接的参考。

30
在C#或.NET中最糟糕的陷阱是什么?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我最近正在处理一个DateTime对象,并编写了如下内容: DateTime dt = DateTime.Now; dt.AddDays(1); return dt; // still today's date! WTF? 的intellisense文档AddDays()说,它在日期上添加了一天,但没有添加-实际上返回了一个日期,其中添加了一天,因此您必须这样写: DateTime dt = DateTime.Now; dt = dt.AddDays(1); return dt; // tomorrow's date 以前,这已经咬了我很多次,所以我认为对最糟糕的C#陷阱进行分类将很有用。
377 c#  .net 

8
在C#中使用Global Mutex的良好模式是什么?
Mutex类非常容易被误解,而全局互斥体更是如此。 创建全局互斥锁时,可以使用哪种良好,安全的模式? 一个会起作用的 无论我的机器位于哪个区域 保证正确释放互斥锁 如果没有获取互斥,可以选择不永久挂起 处理其他进程放弃互斥锁的情况
377 c#  concurrency  mutex 


18
将单个项目作为IEnumerable <T>传递
是否有一种常见的方法将单个类型的项目传递给T需要IEnumerable&lt;T&gt;参数的方法 ?语言是C#,框架版本2.0。 当前,我正在使用辅助方法(它是.Net 2.0,所以我有一堆类似于LINQ的强制转换/投影辅助方法),但这似乎很愚蠢: public static class IEnumerableExt { // usage: IEnumerableExt.FromSingleItem(someObject); public static IEnumerable&lt;T&gt; FromSingleItem&lt;T&gt;(T item) { yield return item; } } 当然,其他方法是创建并填充a List&lt;T&gt;或an Array并将其传递给而不是IEnumerable&lt;T&gt;。 [编辑]作为扩展方法,它可以命名为: public static class IEnumerableExt { // usage: someObject.SingleItemAsEnumerable(); public static IEnumerable&lt;T&gt; SingleItemAsEnumerable&lt;T&gt;(this T item) { yield return item; } } 我在这里想念什么吗? [Edit2]我们发现someObject.Yield()(如@Peter在下面的评论中所建议的)是此扩展方法的最佳名称,主要是为了简洁起见,因此,如果有人想要抓住它,它与XML注释一起使用: public …
377 c#  .net  generics  ienumerable 

29
使用LINQ将列表拆分为子列表
有什么方法可以将item用作每个拆分的定界符,将a List&lt;SomeObject&gt;分为几个单独的列表SomeObject? 让我举例说明: 我有一个List&lt;SomeObject&gt;和我需要一个List&lt;List&lt;SomeObject&gt;&gt;或List&lt;SomeObject&gt;[],以便每个结果列表将包含一组3个原始列表(依次)。 例如。: 原始清单: [a, g, e, w, p, s, q, f, x, y, i, m, c] 结果列表: [a, g, e], [w, p, s], [q, f, x], [y, i, m], [c] 我还需要将结果列表的大小作为此函数的参数。
377 c#  linq  data-structures 

7
实体框架-包含多个级别的属性
Include()方法对于对象列表非常有效。但是,如果我需要深入两个层次怎么办?例如,下面的方法将返回具有此处显示的包含属性的ApplicationServers。但是,ApplicationsWithOverrideGroup是另一个包含其他复杂对象的容器。我也可以在该属性上执行Include()吗?或如何才能完全加载该属性? 就目前而言,此方法: public IEnumerable&lt;ApplicationServer&gt; GetAll() { return this.Database.ApplicationServers .Include(x =&gt; x.ApplicationsWithOverrideGroup) .Include(x =&gt; x.ApplicationWithGroupToForceInstallList) .Include(x =&gt; x.CustomVariableGroups) .ToList(); } 将仅填充Enabled属性(在下面),而不填充Application或CustomVariableGroup属性(在下面)。我如何做到这一点? public class ApplicationWithOverrideVariableGroup : EntityBase { public bool Enabled { get; set; } public Application Application { get; set; } public CustomVariableGroup CustomVariableGroup { get; set; } }

30
什么是一些好的.NET Profiler?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 在使用.net程序时,您使用了哪些分析器,特别推荐哪些?
374 c#  .net  profiling  profiler 


22
“无法修改控件集合,因为控件包含代码块”
我试图创建一个简单的用户控件,它是一个滑块。当我将AjaxToolkit SliderExtender添加到用户控件时,出现此错误(*&$#()@#错误: Server Error in '/' Application. The Controls collection cannot be modified because the control contains code blocks (i.e. `&lt;% ... %&gt;`). Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it …



18
如何从事件中删除所有事件处理程序
要在控件上创建新的事件处理程序,您可以执行此操作 c.Click += new EventHandler(mainFormButton_Click); 或这个 c.Click += mainFormButton_Click; 并删除事件处理程序,您可以执行此操作 c.Click -= mainFormButton_Click; 但是,如何从事件中删除所有事件处理程序?
366 c#  .net  winforms  events 

14
C#中的switch语句失败?
switch语句的下通是为爱我个人的一个重要原因switch与if/else if结构。这里有一个示例: static string NumberToWords(int number) { string[] numbers = new string[] { "", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" }; string[] tens = new string[] { "", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety" }; string[] teens = new string[] { "ten", "eleven", "twelve", …

26
如何获取运行我的C#应用​​程序的服务器的IP地址?
我正在运行服务器,并且想显示自己的IP地址。 获取计算机自己(如果可能,外部)IP地址的语法是什么? 有人编写了以下代码。 IPHostEntry host; string localIP = "?"; host = Dns.GetHostEntry(Dns.GetHostName()); foreach (IPAddress ip in host.AddressList) { if (ip.AddressFamily.ToString() == "InterNetwork") { localIP = ip.ToString(); } } return localIP; 但是,我通常不信任作者,并且我不理解此代码。有更好的方法吗?
365 c#  ip-address 

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.