Questions tagged «c#»

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


5
如何在C#正则表达式中获取捕获的组的名称?
有没有办法在C#中获取捕获的组的名称? string line = "No.123456789 04/09/2009 999"; Regex regex = new Regex(@"(?<number>[\d]{9}) (?<date>[\d]{2}/[\d]{2}/[\d]{4}) (?<code>.*)"); GroupCollection groups = regex.Match(line).Groups; foreach (Group group in groups) { Console.WriteLine("Group: {0}, Value: {1}", ???, group.Value); } 我想得到这个结果: 组:[我不知道该怎么办],值:123456789 04/09/2009 999 组:数字,值:123456789 组:日期,值:04/09/2009 组:代码,值:999
97 c#  regex 

20
对于(;;)或while(true),哪个是正确的C#无限循环?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 改善这个问题 回到我的C / C ++时代,将“无限循环”编码为 while (true) 感觉更自然,对我而言似乎更明显 for (;;) 在1980年代后期与PC-lint的相遇以及随后的最佳实践讨论打破了我的这种习惯。从那以后,我使用for控制语句对循环进行了编码。今天,很长一段时间以来的第一次,也许是我作为C#开发人员的第一个无限循环需求,我正面临着同样的情况。其中一个是正确的,另一个是不正确的吗?
97 c#  infinite-loop 

14
无法连接到SQL Server Express 2012/2016上的本地主机
我刚刚下载了SQL Express 2012的最新版本,但无法连接到本地主机。我尝试了localhost \ SQLExpress和Windows身份验证,但它给了我一条错误消息,提示无法连接。我在这里想念什么吗?我以前使用过SQL Server 2008,而且从来没有连接到本地主机的问题。似乎找不到它。同样在服务中,我仅看到一个SQL Server VSS编写器。这是应该的吗?还是我错过了什么?谢谢

13
独特的随机字符串生成
我想生成随机的唯一字符串,例如由MSDN库生成的字符串。(错误对象)。应该生成类似“ t9zk6eay”的字符串。
97 c#  random 


13
@ Html.HiddenFor在ASP.NET MVC中的列表上不起作用
我正在使用包含列表作为属性的模型。我用我从SQL Server抓取的项目填充此列表。我希望列表隐藏在视图中并传递给POST操作。稍后我可能想使用jQuery向此列表添加更多项,这使得数组不适合稍后扩展。通常你会用 @Html.HiddenFor(model => model.MyList) 以完成此功能,但由于某种原因,POST中的List始终为空。 很简单的问题,有人知道MVC为何会这样吗?


11
函数过早返回的效率
作为一个缺乏经验的程序员,我经常遇到这种情况,尤其是对于我要优化的一个雄心勃勃,速度密集的项目,我感到特别奇怪。对于主要的类C语言(C,objC,C ++,Java,C#等)及其常用的编译器,这两个函数是否会同样高效地运行?编译后的代码有什么区别吗? void foo1(bool flag) { if (flag) { //Do stuff return; } //Do different stuff } void foo2(bool flag) { if (flag) { //Do stuff } else { //Do different stuff } } 基本上来说,提早break或return提早有过直接的效率红利/罚金吗?堆栈框架如何参与?是否有优化的特殊情况?是否有任何因素(例如内联或“内容”的大小)会对此产生重大影响? 我一直支持通过次要优化来提高可读性(我在参数验证中经常看到foo1),但是这种情况经常出现,因此我想一劳永逸地抛开所有烦恼。 而且我知道过早优化的陷阱...呃,那是一些痛苦的回忆。 编辑:我接受了一个答案,但是EJP的答案非常简洁地解释了为什么使用a return几乎可以忽略不计(在汇编中,return到函数末尾创建一个“分支”,这非常快。分支会更改PC寄存器和可能还会影响缓存和管道,这是很小的。)特别是在这种情况下,它实际上没有任何区别,因为if/else和和都return创建了到函数末尾的相同分支。


30
错误5:启动Windows Service时访问被拒绝
当我尝试启动在C#中创建的Windows服务时出现此错误: 到目前为止,我的代码: private ServiceHost host = null; public RightAccessHost() { InitializeComponent(); } protected override void OnStart(string[] args) { host = new ServiceHost(typeof(RightAccessWcf)); host.Open(); } protected override void OnStop() { if (host != null) host.Close(); host = null; } 更新#1 我通过为帐户NETWORK SERVICE授予权限解决了上述问题,但现在又遇到了另一个问题: 更新#2 服务无法启动。System.InvalidOperationException:服务'RightAccessManagementWcf.RightAccessWcf'具有零个应用程序端点(非基础结构)。这可能是因为没有为您的应用程序找到配置文件,或者是因为在配置文件中找不到与服务名称匹配的服务元素,或者因为在服务元素中未定义端点。在System.ServiceModel.Description.DispatcherBuilder.EnsureThereAreNonMexEndpoints(ServiceDescription说明)在System.ServiceModel.Description.DispatcherBuilder.InitializeServiceHost(ServiceDescription description,ServiceHostBase serviceHost)在System.ServiceModel.ServiceHostBase.InitializeRuntime()在System.ServiceModel.ServiceHostBase.OnOpen() TimeSpan超时),位于System.ServiceModel.Channels.CommunicationObject。

24
我可以使用ASP.NET设置HTML /电子邮件模板吗?
我正在一个将发送大量电子邮件的网站上工作。我想同时设置页眉和页脚文本,或者甚至设置模板,以便用户在需要时可以轻松地编辑这些电子邮件。 如果我将HTML嵌入到C#字符串文字中,那么这很丑陋,他们将不得不担心转义。包括用于页眉和页脚的平面文件可能会起作用,但是关于它的某些感觉并不对。 理想的情况.ASPX是以某种方式将页面用作模板,然后告诉我的代码为该页面提供服务,并使用为电子邮件返回的HTML。 有没有一种简单方便的方法可以做到这一点?有没有更好的方法来解决这个问题? 更新: 我添加了一个答案,使您可以使用标准的.aspx页作为电子邮件模板。只需像平时一样替换所有变量,使用数据绑定等即可。然后只需捕获页面的输出,瞧!您有HTML电子邮件! CAVEAT 更新!:我在某些aspx页面上使用MailDefinition类很好,但是当尝试在运行的服务器进程中使用此类时,它失败了。我相信这是因为MailDefinition.CreateMailMessage()方法需要一个有效的控件来引用,即使它并不总是做某事。因此,我建议使用aspx页面的方法,或Mun使用ascx页面的方法,这似乎要好一些。
97 c#  asp.net  email  templates 

19
C#优雅的方法来检查属性的属性是否为null
在C#中,假设在此示例中要从PropertyC中提取一个值,并且ObjectA,PropertyA和PropertyB都可以为null。 ObjectA.PropertyA.PropertyB.PropertyC 如何以最少的代码安全地获取PropertyC? 现在,我将检查: if(ObjectA != null && ObjectA.PropertyA !=null && ObjectA.PropertyA.PropertyB != null) { // safely pull off the value int value = objectA.PropertyA.PropertyB.PropertyC; } 最好做类似这样的事情(伪代码)。 int value = ObjectA.PropertyA.PropertyB ? ObjectA.PropertyA.PropertyB : defaultVal; 可能甚至会因为使用空伙伴运算符而崩溃。 编辑最初,我说我的第二个示例就像js,但是我将其更改为psuedo代码,因为正确地指出了它在js中不起作用。

9
存储程序使用的一组常量的最佳方法是什么?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 改善这个问题 我的程序使用... string,ints,doubles等各种常量。存储它们的最佳方法是什么?我不希望使用Enum,因为数据不是所有相同的类型,并且我想手动设置每个值。我应该将它们全部存储在一个空类中吗?或者,还有更好的方法?
97 c#  constants 

14
我应该总是返回IEnumerable <T>而不是IList <T>吗?
当我编写自己的DAL或返回一组项目的其他代码时,我应该始终执行return语句: public IEnumerable&lt;FooBar&gt; GetRecentItems() 要么 public IList&lt;FooBar&gt; GetRecentItems() 当前,在我的代码中,我一直在尝试尽可能多地使用IEnumerable,但是我不确定这是否是最佳实践吗?这似乎是正确的,因为我在返回最通用的数据类型的同时仍对其功能进行了描述,但这也许是不正确的。
97 c#  ienumerable 

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.