Questions tagged «c#»

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

14
.Net中的优先级队列
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 3年前关闭。 改善这个问题 我正在寻找优先级队列或堆数据结构的.NET实现 优先级队列是一种数据结构,比简单的排序更具灵活性,因为它们允许新元素以任意间隔进入系统。将新作业插入优先级队列比在每次到达时重新排序所有内容更具成本效益。 基本优先级队列支持三个主要操作: 插入(Q,x)。给定带有键k的项目x,将其插入优先级队列Q。 查找最小值(Q)。返回一个指针,该指针的项的值小于优先级队列Q中的任何其他项。 最小删除(Q)。从密钥最小的优先级队列Q中删除该项目 除非我在错误的地方寻找,否则框架中没有一个。有谁知道一个好人,还是我应该自己做一个?

14
为什么要使用指令删除不必要的C#?
例如,我很少需要: using System.Text; 但默认情况下它始终存在。我假设如果您的代码包含不必要的using指令,则应用程序将使用更多内存。但是我还有什么需要注意的吗? 另外,如果仅在一个文件中对大多数文件/所有文件使用相同的using指令,是否有任何区别? 编辑:请注意,此问题与称为using语句的无关概念无关,该语句旨在通过确保当对象超出范围时调用其IDisposable.Dispose方法来帮助管理资源。请参见C#中“使用”的用法。
216 c#  assemblies  using 

9
在C#中的循环中捕获的变量
我遇到了一个有关C#的有趣问题。我有下面的代码。 List<Func<int>> actions = new List<Func<int>>(); int variable = 0; while (variable < 5) { actions.Add(() => variable * 2); ++ variable; } foreach (var act in actions) { Console.WriteLine(act.Invoke()); } 我希望它输出0、2、4、6、8。但是,实际上它输出5个10s。 看来这是由于所有操作都引用了一个捕获的变量。结果,当它们被调用时,它们都具有相同的输出。 有没有办法解决这个限制,使每个动作实例都有自己的捕获变量?


30
正则表达式电子邮件验证
我用这个 @"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$" regexp验证电子邮件 ([\w\.\-]+)-适用于一级域(许多字母和数字,也包括点和连字符) ([\w\-]+)-适用于二级域 ((\.(\w){2,3})+)-适用于包含点和2或3的其他一级域(从3到无穷大)文字 这个正则表达式有什么问题? 编辑:它与“ something@someth.ing”电子邮件不匹配
215 c#  regex  validation 

15
完成与处置
为什么有些人会使用该Finalize方法而不是Dispose方法? 在哪种情况下,您将使用该Finalize方法而不是该Dispose方法?
215 c#  dispose 

2
我在哪里标记lambda表达式异步?
我有以下代码: private async void ContextMenuForGroupRightTapped(object sender, RightTappedRoutedEventArgs args) { CheckBox ckbx = null; if (sender is CheckBox) { ckbx = sender as CheckBox; } if (null == ckbx) { return; } string groupName = ckbx.Content.ToString(); var contextMenu = new PopupMenu(); // Add a command to edit the current Group contextMenu.Commands.Add(new …

24
字符串与StringBuilder
我明白之间的差别String和StringBuilder(StringBuilder是可变的),但两者之间有较大的性能差异? 我正在处理的程序有很多大小写驱动的字符串追加(500+)。使用StringBuilder更好的选择吗?
215 c#  .net  performance 

8
什么时候应该在ASP.NET MVC中使用异步控制器?
我在ASP.NET MVC中使用异步操作时有些担心。什么时候可以改善我的应用程序的性能,什么时候不可以? 在ASP.NET MVC的任何地方使用异步操作是否很好? 关于等待方法:当我要查询数据库时(通过EF / NHibernate /其他ORM),我应该使用async / await关键字吗? 一个单一的操作方法可以使用await关键字异步查询数据库多少次?


2
Jon Skeet对Singleton的澄清
public sealed class Singleton { Singleton() {} public static Singleton Instance { get { return Nested.instance; } } class Nested { // Explicit static constructor to tell C# compiler // not to mark type as beforefieldinit static Nested() {} internal static readonly Singleton instance = new Singleton(); } } 我希望在当前的C#应用​​程序中实现Jon …

18
在WPF中将窗口移到最前面
如何将WPF应用程序带到桌面前端?到目前为止,我已经尝试过: SwitchToThisWindow(new WindowInteropHelper(Application.Current.MainWindow).Handle, true); SetWindowPos(new WindowInteropHelper(Application.Current.MainWindow).Handle, IntPtr.Zero, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); SetForegroundWindow(new WindowInteropHelper(Application.Current.MainWindow).Handle); 没有一个人在做这项工作(Marshal.GetLastWin32Error()就是说这些操作已成功完成,并且每个定义的P / Invoke属性都具有SetLastError=true)。 如果我创建一个新的空白WPF应用程序,并SwitchToThisWindow使用一个计时器调用,它将完全按预期工作,因此我不确定为什么在我的原始情况下它不起作用。 编辑:我正在与全局热键一起执行此操作。
214 c#  .net  wpf  winapi  pinvoke 

5
UI线程上的任务继续
是否有一种“标准”方法来指定任务继续应该在创建初始任务的线程上运行? 目前,我有下面的代码-它正在工作,但是跟踪调度程序并创建第二个Action似乎是不必要的开销。 dispatcher = Dispatcher.CurrentDispatcher; Task task = Task.Factory.StartNew(() => { DoLongRunningWork(); }); Task UITask= task.ContinueWith(() => { dispatcher.Invoke(new Action(() => { this.TextBlock1.Text = "Complete"; } });
214 c#  .net  wpf  multithreading  task 

25
从数据库表生成类
如何从SQL Server表对象生成类? 我不是在谈论使用一些ORM。我只需要创建实体(简单类)。就像是: public class Person { public string Name { get;set; } public string Phone { get;set; } } 给定一些表,如: +----+-------+----------------+ | ID | Name | Phone | +----+-------+----------------+ | 1 | Alice | (555) 555-5550 | | 2 | Bob | (555) 555-5551 | | 3 | Cathy …
214 c#  sql  sql-server  tsql 

23
ReSharper为什么要对所有内容都使用'var'?
我刚刚开始在Visual Studio中使用ReSharper(在关于SO的许多建议之后)。为了进行试验,我打开了一个最近的ASP.NET MVC项目。我注意到它建议的第一批也是最常见的事情之一是将我的大部分/所有显式声明var改为。例如: //From This: MyObject foo = DB.MyObjects.SingleOrDefault(w => w.Id == 1); //To This: var foo = DB.MyObjects.SingleOrDefault(w => w.Id == 1); 等,即使采用简单的类型,如int,bool等 为什么建议这样做?我不是来自计算机科学或.NET背景的人,最近才“涉足” .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.