Questions tagged «c#»

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

5
如何在web.config中设置会话超时
我已经尽力了,但是找不到如何为ASP.Net Web应用程序的进程内会话设置会话超时值的解决方案。 我正在使用VSTS 2008 + .Net 3.5 + C#。这是我自己写的将超时设置为1分钟的内容,对吗? 我在 web.config <sessionState timeout="1" mode="InProc" />

5
将在具有空对象的using语句中调用Dispose()吗?
using在(可能)空对象上使用该语句是否安全? 考虑以下示例: class Test { IDisposable GetObject(string name) { // returns null if not found } void DoSomething() { using (IDisposable x = GetObject("invalid name")) { if (x != null) { // etc... } } } } 是否保证Dispose仅在对象不为null且不会得到的情况下才调用该方法NullReferenceException?
178 c#  idisposable  using 

10
NET中如何等待线程完成?
我以前从未真正在C#中使用过线程,在C#中,我需要有两个线程以及主UI线程。基本上,我有以下几点。 public void StartTheActions() { //Starting thread 1.... Thread t1 = new Thread(new ThreadStart(action1)); t1.Start(); // Now, I want for the main thread (which is calling `StartTheActions` method) // to wait for `t1` to finish. I've created an event in `action1` for this. // The I wish `t2` to start... …
178 c#  multithreading 


9
寻求澄清有关弱类型语言的明显矛盾
我想我了解强类型,但是每次我寻找弱类型的示例时,我最终都会找到简单地自动强制转换类型的编程语言示例。 例如,在这篇名为“ 打字:强vs.弱”,“静态vs.动态 ”的文章中,Python是强类型的,因为如果尝试执行以下操作,则会得到异常: 蟒蛇 1 + "1" Traceback (most recent call last): File "", line 1, in ? TypeError: unsupported operand type(s) for +: 'int' and 'str' 但是,在Java和C#中这种事情是可能的,因此我们不认为它们只是弱类型的。 爪哇 int a = 10; String b = "b"; String result = a + b; System.out.println(result); C# int a = 10; …
178 c#  java  python  perl  weakly-typed 


10
替换C#字符串中的多个字符
有替代字符串的更好方法吗? 令我惊讶的是,Replace不包含字符数组或字符串数​​组。我想我可以编写自己的扩展名,但我很好奇是否有更好的内置方法可以执行以下操作?请注意,最后一个Replace是字符串而不是字符。 myString.Replace(';', '\n').Replace(',', '\n').Replace('\r', '\n').Replace('\t', '\n').Replace(' ', '\n').Replace("\n\n", "\n");
178 c#  .net  string 

1
局部函数与Lambda C#7.0
我正在看C#7.0中的新实现,我发现它们实现了本地函数很有趣,但是我无法想象这样一种情况:本地函数比lambda表达式更可取,两者之间有什么区别。 我确实知道lambda是anonymous函数,而局部函数不是,但是我无法弄清楚实际情况,其中local函数比lambda表达式有优势 任何示例将不胜感激。谢谢。
178 c#  function  lambda  c#-7.0 



5
异步等待在LINQ选择
我需要修改现有程序,它包含以下代码: var inputs = events.Select(async ev => await ProcessEventAsync(ev)) .Select(t => t.Result) .Where(i => i != null) .ToList(); 但这对我来说似乎很奇怪,首先是在select中使用async和await。根据Stephen Cleary的回答,我应该可以删除那些内容。 然后第二个Select选择结果。这不是说任务根本不异步,而是同步执行(付出了很多努力却没有做),还是会异步执行任务,完成后是否执行其余查询? 我是否应该根据Stephen Cleary的另一个答案,像下面那样编写上面的代码: var tasks = await Task.WhenAll(events.Select(ev => ProcessEventAsync(ev))); var inputs = tasks.Where(result => result != null).ToList(); 这样完全一样吗? var inputs = (await Task.WhenAll(events.Select(ev => ProcessEventAsync(ev)))) .Where(result => result != …
178 c#  linq  asynchronous 

30
字符串输出:C#中的格式还是concat?
假设您要输出或连接字符串。您喜欢以下哪种风格? var p = new { FirstName = "Bill", LastName = "Gates" }; Console.WriteLine("{0} {1}", p.FirstName, p.LastName); Console.WriteLine(p.FirstName + " " + p.LastName); 您是使用格式还是只连接字符串?什么是你最喜欢的?其中一种会伤害您的眼睛吗? 您有任何理性的论据来使用一个而不是另一个吗? 我会去第二个。

30
为什么省略花括号被认为是不好的做法?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心寻求指导。 8年前关闭。 为什么每个人都告诉我编写这样的代码是一种不好的做法? if (foo) Bar(); //or for(int i = 0 i < count; i++) Bar(i); 关于省略花括号的最大论据是,有时花括号可能是花括号的两倍。例如,以下代码为C#中的标签绘制发光效果。 using (Brush br = new SolidBrush(Color.FromArgb(15, GlowColor))) { for (int x = 0; x <= GlowAmount; x++) { for (int y = 0; y <= GlowAmount; y++) { g.DrawString(Text, this.Font, br, new Point(IconOffset …
177 java  c#  c++  c  coding-style 

18
检查字符串是否仅包含数字的最快方法
我知道几种检查方法。正则表达式,int.parse,tryparse,循环。 谁能告诉我最快的检查方法是什么? 需要的只是检查,不需要实际解析。 这与以下问题不同:如何确定字符串是否为数字? 问题不仅在于如何识别。但是关于什么是最快的方法。
177 c# 

4
如何使用WPF背景工
在我的应用程序中,我需要执行一系列初始化步骤,这些步骤需要7到8秒才能完成,在此期间我的UI变得无响应。为了解决这个问题,我在一个单独的线程中执行初始化: public void Initialization() { Thread initThread = new Thread(new ThreadStart(InitializationThread)); initThread.Start(); } public void InitializationThread() { outputMessage("Initializing..."); //DO INITIALIZATION outputMessage("Initialization Complete"); } 我已经阅读了几篇有关BackgroundWorker以及如何使我的应用程序保持响应的文章,而不必编写线程来执行冗长的任务,但是尝试实现它并没有获得成功,有人可以告诉我我会怎么做这个用BackgroundWorker?

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.