Questions tagged «c#»

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

3
将数组转换为字符串
如何将此输出转换为字符串? List<string> Client = new List<string>(); foreach (string listitem in lbClients.SelectedItems) { Client.Add(listitem); }
81 c#  arrays  string 


8
我如何模拟没有接口的类?
我正在Windows 7中使用C#在.NET 4.0上工作。 我想使用模拟测试某些方法之间的通信。唯一的问题是我想在不实现接口的情况下做到这一点。那可能吗? 我刚刚阅读了很多关于模拟对象的主题和一些教程,但是它们全部都用于模拟接口,而不是类。我尝试使用Rhino和Moq框架。
81 c#  mocking  tdd 


7
ASP.NET Core身份-获取当前用户
要获得MVC5中当前登录的用户,我们要做的就是: using Microsoft.AspNet.Identity; [Authorize] public IHttpActionResult DoSomething() { string currentUserId = User.Identity.GetUserId(); } 现在,我认为使用ASP.NET Core应该可以,但是会引发错误。 using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Http; private readonly UserManager<ApplicationUser> _userManager; [HttpPost] [Authorize] public async Task<IActionResult> StartSession() { var curUser = await _userManager.GetUserAsync(HttpContext.User); } 有任何想法吗? 编辑: Gerardo的响应已步入正轨,但要获得用户的实际“ Id”,这似乎可行: ClaimsPrincipal currentUser = this.User; var currentUserID = currentUser.FindFirst(ClaimTypes.NameIdentifier).Value;


6
如何清除实体框架中的跟踪实体
我正在运行一些校正代码,这些校正代码在大量实体上运行,随着它的速度降低,这是因为在上下文中跟踪的实体的数量随着每次迭代的增加而增加,这可能需要很长时间,因此我在最后保存更改每次迭代。每次迭代都是独立的,并且不会更改先前加载的实体。 我知道我可以关闭变更跟踪,但我不想这样做,因为它不是批量插入代码,而是加载实体并计算一些事情,如果数字不正确,请设置新数字并更新/删除/创建一些其他实体。我知道我可以为每个迭代创建一个新的DbContext,并且可能比在同一实例中执行所有操作要快,但我认为可能会有更好的方法。 所以问题是;有没有一种方法可以清除以前在db上下文中加载的实体?

18
在数据库First Scaffold-DbContext上“构建失败”
我正在尝试从数据库生成类(EntityFramework的数据库优先方法)。 为了方便起见,我或多或少地跟随着本教程:https : //docs.efproject.net/en/latest/platforms/full-dotnet/existing-db.html 我正要在Visual Studio程序包管理器控制台中运行以下代码行: Scaffold-DbContext "Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -Verbose 这行代码生成错误(启用-Verbose模式): Using startup project 'EFSandbox'. Using project 'EntityFrameworkCore' Build started... Build failed. 我没有看到产生任何有意义的输出的其他选项,也没有看到有关此特定错误的文档。如果有帮助,则该项目当前没有project.json文件。一切都在.csproj文件中,我没有手动编辑它。

2
Async await关键字是否等同于ContinueWith lambda?
有人可以请我确认我是否正确理解Async await关键字吗?(使用CTP版本3) 到目前为止,我已经知道,在方法调用之前插入await关键字实际上可以完成两件事:A。它创建立即返回,B。它创建一个“ continuation”,在异步方法调用完成时调用。无论如何,延续是该方法的代码块的其余部分。 所以我想知道的是,这两个代码在技术上是否等效,如果是,这是否基本上意味着await关键字与创建ContinueWith Lambda相同(即,它基本上是一个编译器的快捷方式)?如果没有,有什么区别? bool Success = await new POP3Connector( "mail.server.com", txtUsername.Text, txtPassword.Text).Connect(); // At this point the method will return and following code will // only be invoked when the operation is complete(?) MessageBox.Show(Success ? "Logged In" : "Wrong password"); VS (new POP3Connector( "mail.server.com", txtUsername.Text, txtPassword.Text ).Connect()) …

6
在不知道名称空间的情况下使用LINQ搜索XDocument
有没有不知道名称空间的搜索XDocument的方法?我有一个记录所有SOAP请求并加密敏感数据的过程。我想根据名称查找任何元素。像这样,给我所有名称为CreditCard的元素。我不在乎命名空间是什么。 我的问题似乎与LINQ有关,并且需要一个xml名称空间。 我还有其他从XML检索值的进程,但是我知道这些其他进程的名称空间。 XDocument xDocument = XDocument.Load(@"C:\temp\Packet.xml"); XNamespace xNamespace = "http://CompanyName.AppName.Service.Contracts"; var elements = xDocument.Root .DescendantsAndSelf() .Elements() .Where(d => d.Name == xNamespace + "CreditCardNumber"); 我确实希望能够在不了解名称空间的情况下搜索xml,如下所示: XDocument xDocument = XDocument.Load(@"C:\temp\Packet.xml"); var elements = xDocument.Root .DescendantsAndSelf() .Elements() .Where(d => d.Name == "CreditCardNumber") 这是行不通的,因为在编译时我不知道名称空间。 如何才能做到这一点? <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Request xmlns="http://CompanyName.AppName.Service.ContractA"> <Person> …
81 c#  linq-to-xml 

6
反应性扩展的好例子使用[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 9年前关闭。 我了解Rx的基础知识。我在苦苦挣扎的地方是,您将如何实际使用它而不是学术实例?在哪些常见的简单现实世界场景中,Rx是比.NET今天更好的解决方案?

3
我们如何开发旨在防止leap年错误的编码实践?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 改善这个问题 微软刚刚宣布,计算日期(超过leap年)的软件错误导致上周Windows Azure发生了严重故障。 在judgment年期间进行判断时,这真的是一个简单的错误DateTime.Now.AddYears(1)吗? 哪些编码惯例可以阻止这种情况? 编辑 dcstraw指出,DateTime.Now.AddYears(1)on年实际上确实会在.NET中返回正确的日期。因此,这不是框架错误,但显然是日期计算中的错误。
80 c#  datetime 

10
在.NET的HttpWebRequest / Response中使用自签名证书
我正在尝试连接到使用自签名SSL证书的API。我这样做是使用.NET的HttpWebRequest和HttpWebResponse对象。我得到一个例外: 基础连接已关闭:无法建立SSL / TLS安全通道的信任关系。 我明白这意味着什么。而且我明白为什么.NET认为它应该警告我并关闭连接。但是在这种情况下,无论如何,我还是想连接到API,以防中间人攻击。 那么,如何为该自签名证书添加例外?还是告诉HttpWebRequest / Response根本不验证证书的方法?我该怎么办?

11
Double.TryParse或Convert.ToDouble-哪个更快,更安全?
我的应用程序使用VSTO读取Excel文件,并将读取的数据添加到StringDictionary。它仅添加数位数的数据(1000 1000,2 1000,34-逗号是俄语标准中的定界符)。 有什么更好的方法来检查当前字符串是否合适? object data, string key; // data had read try { Convert.ToDouble(regionData, CultureInfo.CurrentCulture); dic.Add(key, regionData.ToString()); } catch (InvalidCastException) { // is not a number } 要么 double d; string str = data.ToString(); if (Double.TryParse(str, out d)) // if done, then is a number { dic.Add(key, str); } …
80 c#  .net  parsing  double 


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.