Questions tagged «c#»

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

10
如何在C#中传递多个枚举值?
有时,在阅读其他人的C#代码时,我会看到一个方法,该方法将在单个参数中接受多个枚举值。我一直以为它很整洁,但从未研究过。 好吧,现在我想我可能需要它,但是不知道如何 设置方法签名以接受此方法 使用方法中的值 定义枚举 实现这种事情。 在我的特定情况下,我想使用System.DayOfWeek,其定义为: [Serializable] [ComVisible(true)] public enum DayOfWeek { Sunday = 0, Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5, Saturday = 6 } 我希望能够将一个或多个DayOfWeek值传递给我的方法。我可以按原样使用此特定枚举吗?我该如何做上面列出的三件事?
117 c#  enums 

6
如何获得当前行号?
这是我想做的一个例子: MessageBox.Show("Error line number " + CurrentLineNumber); 在上方的代码中CurrentLineNumber,应该是这段代码的源代码中的行号。 我怎样才能做到这一点?
117 c#  wpf  c#-4.0  line-numbers 


4
制作用于C#应用程序的安装程序,并将.NET Framework安装程序包括在安装程序中
我已经完成了C#应用程序,但是有一个小问题: 当我尝试在另一台PC上运行应用程序时,总是需要安装.NET Framework 4.0。 是否需要做一些事情才能使其工作,而无需从Internet安装该框架? 我在VB6应用程序的InnoSetup之前尝试过,但是我不确定它是否适用于.NET 4.0! 有任何想法吗?

6
如何捕获SQLServer超时异常
我需要专门捕获SQL Server超时异常,以便可以对它们进行不同的处理。我知道我可以捕获SqlException,然后检查消息字符串是否包含“ Timeout”,但想知道是否有更好的方法吗? try { //some code } catch (SqlException ex) { if (ex.Message.Contains("Timeout")) { //handle timeout } else { throw; } }

15
Java或C#中异常管理的最佳实践
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 4年前关闭。 改善这个问题 我一直在决定如何处理应用程序中的异常。 如果我的异常问题很大程度上来自于1)通过远程服务访问数据或2)反序列化JSON对象。不幸的是,我不能保证其中任何一项都能成功(切断网络连接,无法控制的畸形JSON对象)。 结果,如果确实遇到异常,我将在函数中捕获该异常并将FALSE返回给调用方。我的逻辑是,调用者真正关心的只是任务是否成功,而不是为什么任务没有成功。 这是典型方法的一些示例代码(在JAVA中) public boolean doSomething(Object p_somthingToDoOn) { boolean result = false; try{ // if dirty object then clean doactualStuffOnObject(p_jsonObject); //assume success (no exception thrown) result = true; } catch(Exception Ex) { //don't care about exceptions Ex.printStackTrace(); } return result; } 我认为这种方法很好,但是我真的很想知道管理异常的最佳实践是什么(我真的应该一直在调用堆栈中冒泡一个异常吗?)。 关键问题总结: 可以只捕获异常但不将其冒泡或正式通知系统(通过日志或向用户的通知)可以吗? 有什么最佳实践可以解决并非导致所有内容都需要try …


5
在List <T> ForEach()中设置多个属性?
给定一个班级: class foo { public string a = ""; public int b = 0; } 然后是它们的通用列表: var list = new List&lt;foo&gt;(new []{new foo(), new foo()}); 如果我要在以下方法中分配多个属性List&lt;T&gt; ForEach(),请问下面有一种更简单的方法吗?希望我有点胖。 // one property - easy peasy list.ForEach(lambda =&gt; lambda.a="hello!"); // multiple properties - hmm list.ForEach(lambda =&gt; new Action(delegate() { lambda.a = "hello!"; lambda.b …
117 c#  linq 

12
C#如何检查URL是否存在/有效?
我正在Visual C#2005中编写一个简单的程序,该程序在Yahoo!上查找股票代码。财务,下载历史数据,然后绘制指定股票代码的价格历史。 我知道我需要获取数据的确切URL,并且如果用户输入了一个现有的股票代号(或至少一个带有Yahoo! Finance上的数据的代号),它就可以很好地工作。但是,如果用户编写了股票代码,则会出现运行时错误,因为该程序试图从不存在的网页中提取数据。 我正在使用WebClient类,并使用DownloadString函数。我浏览了WebClient类的所有其他成员函数,但没有看到可用于测试URL的任何内容。 我怎样才能做到这一点?
117 c#  .net  url-validation 

6
将时间戳添加到文件名
我多次遇到此问题,希望在同一目录中拥有同一文件的多个版本。我一直在使用C#进行操作的方法是在文件名中添加一个像这样的时间戳DateTime.Now.ToString().Replace('/', '-').Replace(':', '.')。有一个更好的方法吗?
117 c#  .net  file  datetime  file-io 

5
linq,其中list包含列表中的任何一个
使用linq,如何检索其属性列表与另一个列表匹配的项目列表? 举一个简单的例子和​​伪代码: List&lt;Genres&gt; listofGenres = new List&lt;Genre&gt;() { "action", "comedy" }); var movies = _db.Movies.Where(p =&gt; p.Genres.Any() in listofGenres);
117 c#  linq 

5
有什么方法可以关闭StreamWriter而不关闭其BaseStream吗?
我的根本问题是,在using调用Dispose时StreamWriter,它还会处理BaseStream(与相同的问题Close)。 我有一个解决方法,但是如您所见,它涉及复制流。有什么方法可以做到不复制流? 这样做的目的是将字符串的内容(最初是从数据库中读取)放入流中,以便第三方组件可以读取该流。 注意:我无法更改第三方组件。 public System.IO.Stream CreateStream(string value) { var baseStream = new System.IO.MemoryStream(); var baseCopy = new System.IO.MemoryStream(); using (var writer = new System.IO.StreamWriter(baseStream, System.Text.Encoding.UTF8)) { writer.Write(value); writer.Flush(); baseStream.WriteTo(baseCopy); } baseCopy.Seek(0, System.IO.SeekOrigin.Begin); return baseCopy; } 用作 public void Noddy() { System.IO.Stream myStream = CreateStream("The contents of this string are …
117 c#  stream  dispose 

4
从通用基类继承,应用约束并在C#中实现接口
这是一个语法问题。我有一个泛型类,它是从泛型基类继承的,并且将约束应用于类型参数之一。我还希望派生类实现一个接口。对于我的一生,我似乎无法找出正确的语法。 这就是我所拥有的: DerivedFoo&lt;T1,T2&gt; : ParentFoo&lt;T1, T2&gt; where T2 : IBar { ... } 我想到的第一件事是: DerivedFoo&lt;T1,T2&gt; : ParentFoo&lt;T1, T2&gt; where T2 : IBar, IFoo { ... } 但这是不正确的,因为这导致T2需要同时实现IBar和IFoo,而不是DerivedFoo来实现IFoo。 我尝试了一些谷歌搜索,冒号,分号等的使用,但是结果却很短。我确定答案很简单。

18
使用.NET删除目录中3个月以上的文件
我想知道(使用C#)如何删除3个月以上的某个目录中的文件,但是我认为日期期限可能会很灵活。 明确说明:我正在寻找90天之前的文件,换句话说,应该保留少于90天之前创建的文件,删除所有其他文件。
117 c#  .net  file  directory 

10
使用File.Create()后,另一个进程正在使用该文件
我正在尝试检测文件在运行时是否存在,如果不存在,请创建它。但是,当我尝试写入该错误时,我得到此错误: 该进程无法访问文件“ myfile.ext”,因为它正在被另一个进程使用。 string filePath = string.Format(@"{0}\M{1}.dat", ConfigurationManager.AppSettings["DirectoryPath"], costCentre); if (!File.Exists(filePath)) { File.Create(filePath); } using (StreamWriter sw = File.AppendText(filePath)) { //write my text } 关于如何解决它的任何想法?
117 c#  file-io 

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.