Questions tagged «c#»

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


11
在ASP.NET Web API中返回错误的最佳实践
我对我们向客户返回错误的方式感到担忧。 当收到错误消息时,是否通过抛出HttpResponseException立即返回错误消息: public void Post(Customer customer) { if (string.IsNullOrEmpty(customer.Name)) { throw new HttpResponseException("Customer Name cannot be empty", HttpStatusCode.BadRequest) } if (customer.Accounts.Count == 0) { throw new HttpResponseException("Customer does not have any account", HttpStatusCode.BadRequest) } } 否则我们会累积所有错误,然后发回给客户: public void Post(Customer customer) { List<string> errors = new List<string>(); if (string.IsNullOrEmpty(customer.Name)) { errors.Add("Customer …
384 c#  rest  asp.net-web-api 

10
ASP.NET身份-HttpContext没有GetOwinContext的扩展方法
我已经从这里下载并成功运行了ASP.NET Identity示例:https: //github.com/rustd/AspnetIdentitySample 我现在在我的项目中正在实施ASP.NET Identity框架,并且遇到了一个问题,这使我整日生气…… GetOwinContext() 作为我的扩展方法不存在 HttpContext 我正在类库中实现身份框架。我已经安装了Identity框架的所有最新版本(预发行版),除此之外,其他所有东西都可以正常工作。 我尝试在控制器中实现与直接相同的代码,并发现相同的问题。 我显然在某处缺少参考,尽管我不知道该怎么办..!.. 杀死我的代码块是: private IAuthenticationManager AuthenticationManager { get { return HttpContext.GetOwinContext().Authentication; } } 我已经添加了对以下内容的引用-在我的类库中尝试了这些内容,也直接在控制器上进行了尝试,它们都不适合我... using Microsoft.AspNet.Identity; using Microsoft.AspNet.Identity.EntityFramework; using Microsoft.Owin.Security; using Microsoft.Owin; using System.Web; ...这把我逼到了墙上....有什么想法吗? 更新 我已经检查了示例中的Identity&OWIN版本,并确保解决方案中具有相同版本。 更重要的是,如果我在示例中搜索对象浏览器GetOwinContext可以找到该方法,但是在我的解决方案中搜索它时,找不到它了……我必须拥有一些过时的库,但是我可以找不到它!

4
如何在C#中获取列表的前N个元素?
我想使用Linq查询项目中的公交车时刻表,以便在任何时候都可以获取下5个公交车到达时间。如何将查询限制在前5个结果中? 更一般而言,如何在C#中获取列表的一部分?(在Python中,我将mylist[:5]用来获取前5个元素。)
384 c# 

5
为什么需要JsonRequestBehavior?
为什么Json Request Behavior需要? 如果我想将HttpGet请求限制为我的操作,则可以使用[HttpPost]属性装饰该操作 例: [HttpPost] public JsonResult Foo() { return Json("Secrets"); } // Instead of: public JsonResult Foo() { return Json("Secrets", JsonRequestBehavior.AllowGet); } 为什么还[HttpPost]不够? 为什么框架会用我们拥有的JsonRequestBehavior.AllowGet所有东西“困扰”我们JsonResult。如果我想拒绝获取请求,则添加HttpPost属性。

17
何时使用in vs ref vs out
前几天有人问我应该使用parameter关键字out而不是ref。尽管我(我认为)了解了ref和out关键字(之前已经问过)之间的区别,并且最好的解释似乎是ref== in和out,但是我应该始终使用out而不是一些(假设的或代码的)示例ref。 由于ref更笼统,您为什么要使用out?只是语法糖吗?
383 c# 

30
无法使用Directory.Delete(path,true)删除目录
我正在使用.NET 3.5,尝试使用以下命令递归删除目录: Directory.Delete(myPath, true); 我的理解是,如果文件正在使用中或存在权限问题,则应抛出此错误,否则应删除目录及其所有内容。 但是,我偶尔会得到以下信息: System.IO.IOException: The directory is not empty. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive) at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive) ... 有时会抛出该方法,我并不感到惊讶,但是当递归为true时,我会收到此特定消息感到惊讶。(我知道目录不为空。) 我会看到这个而不是AccessViolationException吗?
383 c#  .net  exception  io 


20
检查路径是文件还是目录的更好方法?
我正在处理TreeView目录和文件。用户可以选择文件或目录,然后对其进行操作。这就要求我有一种根据用户的选择执行不同动作的方法。 目前,我正在执行以下操作来确定路径是文件还是目录: bool bIsFile = false; bool bIsDirectory = false; try { string[] subfolders = Directory.GetDirectories(strFilePath); bIsDirectory = true; bIsFile = false; } catch(System.IO.IOException) { bIsFolder = false; bIsFile = true; } 我不禁感到有更好的方法可以做到这一点!我希望找到一种标准的.NET方法来处理此问题,但我一直未能做到这一点。是否存在这种方法,如果不存在,那么确定路径是文件还是目录的最直接方法是什么?
382 c#  .net  file  path  directory 


7
MVC4中的Styles.Render
在一个.NET MVC4项目中如何@Styles.Render运作? 我的意思是,它在@Styles.Render("~/Content/css")哪个文件中调用? 我的文件夹中没有文件或名为“ css”的Content文件夹。

13
在C#中使用Finalize / Dispose方法
C#2008 我已经为此工作了一段时间,但我仍然对在代码中使用finalize和dispose方法感到困惑。我的问题如下: 我知道在处理非托管资源时我们只需要一个终结器即可。但是,如果存在调用非托管资源的托管资源,是否仍需要实现终结器? 但是,如果我开发的类不直接或间接使用任何非托管资源,是否应该实现,IDisposable以允许该类的客户端使用“ using语句”? 实现IDisposable只是为了使您的类的客户端能够使用using语句是否可行? using(myClass objClass = new myClass()) { // Do stuff here } 我在下面开发了这个简单的代码来演示Finalize / dispose的使用: public class NoGateway : IDisposable { private WebClient wc = null; public NoGateway() { wc = new WebClient(); wc.DownloadStringCompleted += wc_DownloadStringCompleted; } // Start the Async call to find if …

19
从App.config获取连接字符串
var connection = ConnectionFactory.GetConnection( ConfigurationManager.ConnectionStrings["Test"] .ConnectionString, DataBaseProvider); 这是我的App.config: <?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="Test" connectionString="Data Source=.;Initial Catalog=OmidPayamak;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings> </configuration> 但是当我的项目运行时,这是我的错误: 你调用的对象是空的。


25
将datetime2数据类型转换为datetime数据类型会导致超出范围的值
我有一个包含5列的数据表,其中一行被数据填充,然后通过事务保存到数据库中。 保存时,返回错误: 从datetime2数据类型到datetime数据类型的转换导致值超出范围 从读取的角度看,它意味着DateTime2我的数据表的类型为,数据库为a DateTime;那是错的。 日期列设置为DateTime如下所示: new DataColumn("myDate", Type.GetType("System.DateTime")) 题 可以用代码解决此问题,还是必须在数据库级别进行某些更改?

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.