Questions tagged «c#»

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



1
最高还是默认?
从可能不返回任何行的LINQ查询中获取最大值的最佳方法是什么?如果我只是做 Dim x = (From y In context.MyTable _ Where y.MyField = value _ Select y.MyCounter).Max 查询不返回任何行时出现错误。我可以 Dim x = (From y In context.MyTable _ Where y.MyField = value _ Select y.MyCounter _ Order By MyCounter Descending).FirstOrDefault 但这对于这样一个简单的请求来说有点钝。我是否缺少更好的方法? 更新:这是背景故事:我正在尝试从子表中检索下一个资格计数器(旧系统,请不要让我开始...)。每个患者的第一个合格行始终为1,第二个合格行始终为2,依此类推(显然,这不是子表的主键)。因此,我要为患者选择现有的最大计数器值,然后将其添加1以创建新行。当没有现有的子值时,我需要查询返回0(所以加1将使我的计数器值为1)。请注意,我不想依赖子行的原始计数,以防旧版应用程序在计数器值中引入空白(可能)。我很想使这个问题过于笼统。
175 c#  .net  linq  linq-to-sql 

5
在列表中获取不同值的列表
在C#中,假设我有一个名为Note的类,其中包含三个String成员变量。 public class Note { public string Title; public string Author; public string Text; } 而且我有一个类型注释列表: List<Note> Notes = new List<Note>(); 在“作者”列中获取所有不同值的列表的最干净方法是什么? 我可以遍历该列表,然后将所有不重复的值添加到另一个字符串列表中,但这似乎很脏而且效率低下。我感觉有一些神奇的Linq构造可以在一行中完成,但是我还没办法提出。
175 c#  linq  list  distinct 

8
从HttpResponseMessage获取内容/消息
我正在尝试获取HttpResponseMessage的内容。应该是:{"message":"Action '' does not exist!","success":false},但我不知道如何从HttpResponseMessage中获取它。 HttpClient httpClient = new HttpClient(); HttpResponseMessage response = await httpClient.GetAsync("http://****?action="); txtBlock.Text = Convert.ToString(response); //wrong! 在这种情况下,txtBlock将具有值: StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.StreamContent, Headers: { Vary: Accept-Encoding Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Date: Wed, 10 Apr 2013 20:46:37 GMT Server: Apache/2.2.16 Server: (Debian) X-Powered-By: PHP/5.3.3-7+squeeze14 …


9
哪些静态分析工具可用于C#?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使它成为Stack Overflow 的主题。 6年前关闭。 这个问题的答案是社区的努力。编辑现有答案以改善此职位。它当前不接受新的答案或互动。 有哪些工具可用于针对C#代码进行静态分析?我知道FxCop和StyleCop。还有其他吗?我之前曾经碰过NStatic,但是它一直在开发中,似乎永远存在-从我所看到的内容来看,它看起来非常漂亮,因此,如果能看到今天的曙光,那就太好了。 沿着这些思路(主要是我对静态分析的兴趣),用于测试多线程问题(死锁,竞争条件等)的代码的工具似乎也很少。Typemock Racer刚刚弹出,所以我会看看。除此之外呢? 对于您使用过的工具的真实看法,我们将不胜感激。

2
Server.MapPath和HostingEnvironment.MapPath有什么区别?
有什么区别Server.MapPath()和HostingEnvironment.MapPath()?相比Server.MapPath()有什么优势HostingEnvironment.MapPath()吗? 我最初的问题是,当HttpContext不存在服务器映射文件路径时,无法将Server变量从传递Global.asax给我的方法。 我HostingEnvironment.MapPath()改用了它,因为它不需要HttpContext。这两种方法在任何情况下都会产生不同的结果吗?
174 c#  asp.net 

6
使用C#扩展方法重载运算符
我正在尝试使用扩展方法将操作员重载添加到C#StringBuilder类。具体来说,StringBuilder sb我想sb += "text"等同于sb.Append("text")。 这是为创建扩展方法的语法StringBuilder: public static class sbExtensions { public static StringBuilder blah(this StringBuilder sb) { return sb; } } 成功将blah扩展方法添加到中StringBuilder。 不幸的是,操作符重载似乎不起作用: public static class sbExtensions { public static StringBuilder operator +(this StringBuilder sb, string s) { return sb.Append(s); } } 除其他问题外,this此上下文中不允许使用关键字。 通过扩展方法可以添加运算符重载吗?如果是这样,解决该问题的正确方法是什么?

14
如何获取最后插入的ID?
我有以下代码: string insertSql = "INSERT INTO aspnet_GameProfiles(UserId,GameId) VALUES(@UserId, @GameId)"; using (SqlConnection myConnection = new SqlConnection(myConnectionString)) { myConnection.Open(); SqlCommand myCommand = new SqlCommand(insertSql, myConnection); myCommand.Parameters.AddWithValue("@UserId", newUserId); myCommand.Parameters.AddWithValue("@GameId", newGameId); myCommand.ExecuteNonQuery(); myConnection.Close(); } 当我插入该表时,我有一个名为auto_increment int的主键列GamesProfileId,如何在此之后最后插入一个,以便可以使用该ID插入另一个表?
174 c#  sql  sql-server 



12
C#清理文件名
最近,我一直在将一堆MP3从不同位置移到存储库中。我一直在使用ID3标签构建新文件名(感谢TagLib-Sharp!),我注意到我得到了System.NotSupportedException: “不支持给定路径的格式。” 这是由File.Copy()或生成的Directory.CreateDirectory()。 很快,我就意识到需要对我的文件名进行清理。所以我做了显而易见的事情: public static string SanitizePath_(string path, char replaceChar) { string dir = Path.GetDirectoryName(path); foreach (char c in Path.GetInvalidPathChars()) dir = dir.Replace(c, replaceChar); string name = Path.GetFileName(path); foreach (char c in Path.GetInvalidFileNameChars()) name = name.Replace(c, replaceChar); return dir + name; } 令我惊讶的是,我继续遇到例外。原来,':'不在的集合中Path.GetInvalidPathChars(),因为它在路径根目录中有效。我认为这很有意义-但这必须是一个非常普遍的问题。有人有一些简短的代码可以清理路径吗?我想出了最彻底的方法,但是感觉可能已经过头了。 // replaces invalid characters with replaceChar …

5
IIS Express停止Web应用程序后立即关闭正在运行的站点
当我想在IDE中停止应用程序时,我正在使用Visual Studio 2012,但该应用程序仍在IIS Express上运行,我可以浏览并使用正在运行的应用程序,但现在不能。IIS如果我按停止按钮,则立即关闭应用程序。由于我记得我没有对设置进行任何更改。我应该如何做与开始的第一天一样。

7
实体框架回滚并消除错误的迁移
我将EF 6.0用于C#中的项目,并进行了手动迁移和更新。我在数据库上进行了大约5次迁移,但是我意识到上一次迁移很糟糕,我不想要它。我知道我可以回滚到以前的迁移,但是当我添加新的(固定的)迁移并运行Update-Database时,甚至会应用错误的迁移。 我试图回滚到以前的迁移并删除迁移错误的文件。但是,当我尝试添加新的迁移时,更新数据库时会出错,因为迁移文件已损坏(更具体地说,第一行代码将表A重命名为B,然后是下一行,EF尝试使用名称A-可能是一些EF错误)。 我是否可以运行一些查询,该查询将告诉EF诸如“忘记上一次没有出现的上次迁移,那是很糟糕的事情”?类似于Remove-Migration。 Edit1 我发现适合我的解决方案。将模型更改为良好状态并运行Add-Migration TheBadMigration -Force。这将重新构建上一个未应用的迁移。 无论如何,这仍然不能完全回答原始问题。如果我将UpdateDatabase迁移至错误的迁移,则我没有找到好的方法来回滚并创建新的迁移,排除了错误的迁移。 谢谢

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.