Questions tagged «c#»

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


30
在大写字母之前添加空格
给定字符串“ ThisStringHasNoSpacesButItDoesHaveCapitals”,什么是在大写字母之前添加空格的最佳方法。因此,结束字符串将为“此字符串没有空格,但确实有大写字母” 这是我对RegEx的尝试 System.Text.RegularExpressions.Regex.Replace(value, "[A-Z]", " $0")
193 c#  regex  string 

30
Visual Studio构建失败:无法将exe文件从obj \ debug复制到bin \ debug
更新: 可在Microsoft Connect上找到重现此错误的示例项目。我还测试并验证了下面接受的答案中给出的解决方案可用于该示例项目。如果此解决方案不适合您,则可能是您遇到了其他问题(属于一个单独的问题)。 这是之前在Stack Overflow和其他地方都提出过的问题,但是到目前为止,我发现的任何建议都没有帮助我,所以我只需要尝试提出一个新问题。 场景:我有一个简单的Windows窗体应用程序(C#、. NET 4.0,Visual Studio 2010)。它具有大多数其他表单都继承的几个基本表单,它使用实体框架(和POCO类)进行数据库访问。没什么花哨的,没有多线程的。 问题:暂时一切都很好。然后,当我要启动应用程序时,Visual Studio突然无法构建。我收到警告“无法删除文件'... bin \ Debug \ [ProjectName] .exe'。访问路径'... bin \ Debug \ [ProjectName] .exe'被拒绝。” 错误“无法将文件'obj \ x86 \ Debug \ [ProjectName] .exe”复制到'bin \ Debug \ [ProjectName] .exe'。该进程无法访问文件'bin \ Debug \ [ProjectName] .exe” “因为它正在被另一个进程使用。” (在运行Rebuild时,我同时收到警告和错误,但在运行Build时,只有错误-认为不相关吗?) 我完全理解警告和错误消息的含义:Visual Studio显然试图覆盖exe文件,同时由于某种原因它同时锁定了该文件。但是,这并不能帮助我找到解决问题的方法...我发现唯一可行的方法是关闭Visual Studio,然后重新启动它。然后进行构建和启动,直到我对某些表格进行了更改,然后又遇到了同样的问题,必须重新启动...真令人沮丧! 如上所述,这似乎是一个已知问题,因此有很多建议的解决方案。我将在这里列出我已经尝试过的内容,以便人们知道要跳过的内容: 创建一个新的干净解决方案,只需复制旧解决方案中的文件即可。 将以下内容添加到项目的预构建事件中: …

7
如何在单个步骤中获取列表中项目的索引?
如何在列表中查找项目的索引而不遍历该索引? 当前,这看起来不太好-在列表中两次搜索同一项目,只是为了获得索引: var oProp = something; int theThingIActuallyAmInterestedIn = myList.IndexOf(myList.Single(i => i.Prop == oProp));
193 c#  linq  lookup 


15
在asp.net中对整个网站强制使用https的最佳方法?
大约6个月前,我推出了一个网站,每个请求都需要通过https进行。当时我可以确保确保对页面的每个请求都通过https的唯一方法是在页面加载事件中对其进行检查。如果请求不是通过http进行的,我将response.redirect(“ https://example.com ”) 有没有更好的方法-理想情况下是web.config中的某些设置?
192 c#  asp.net  vb.net  webforms  https 

5
用于WPF导航的窗口,页面还是用户控件?
我目前正在编写一个桌面应用程序,但是当我将某人重定向到应用程序的新部分时,似乎无法理解该使用什么。 我的选择似乎是 窗口 页 用户控件 但我不了解它们之间的区别以及何时应使用它们。 有人可以为我解释这些差异,并举例说明您可能在每种情况/应用中使用哪种情况/应用吗?
192 c#  wpf 


8
转换为值类型'Int32'失败,因为实例化值为null
我有以下代码。我收到错误消息: “强制转换为值类型'Int32',因为实例化值为null。结果类型的通用参数或查询必须使用可为空的类型。” 当CreditHistory表没有记录时。 var creditsSum = (from u in context.User join ch in context.CreditHistory on u.ID equals ch.UserID where u.ID == userID select ch.Amount).Sum(); 如何修改查询以接受空值?

21
Microsoft.Jet.OLEDB.4.0的提供程序未在本地计算机上注册
我在32位Windows 2008服务器中创建了一个用.NET 3.5开发的Windows应用程序。在64位服务器上部署应用程序时,它显示错误“ Microsoft.Jet.OLEDB.4.0'提供程序未在本地计算机上注册”。 因此,作为此问题的解决方案,我将项目的build属性更改为X86,以便它将以32位模式进行构建,并在32位计算机上重建该项目。但是,同一项目使用其他数据库驱动程序(DB2,SQL等)连接到其他数据库。因此,当我再次在64位操作系统上部署我的应用程序时,它会抛出异常“试图在32位平台上加载64位程序集。” 我正在使用Microsoft.Jet.OLEDB.4.0驱动程序来读写Excel(.xls)
191 c#  .net  oledb  32bit-64bit  jet 

16
C#DLL配置文件
我试图将app.config文件添加到我的DLL中,但所有尝试均失败。 根据MusicGenesis在“ 将配置信息放入DLL ”中所述,这应该不是问题。所以很明显我做错了... 以下代码应从我的DLL返回我的ConnectionString: return ConfigurationManager.AppSettings["ConnectionString"]; 但是,当我将app.config文件复制到控制台应用程序时,它可以正常工作。 有任何想法吗?
191 c#  app-config 

10
拆分字符串,将ToList <int>()转换为一行
我有一个带数字的字符串 string sNumbers = "1,2,3,4,5"; 我可以将其拆分然后转换为 List&lt;int&gt; sNumbers.Split( new[] { ',' } ).ToList&lt;int&gt;(); 如何将字符串数组转换为整数列表?这样我就可以转换string[]为IEnumerable
191 c#  list  split 

4
等效于链接的LINQ扩展方法调用中的'let'关键字的代码
使用C#编译器查询理解功能,您可以编写如下代码: var names = new string[] { "Dog", "Cat", "Giraffe", "Monkey", "Tortoise" }; var result = from animalName in names let nameLength = animalName.Length where nameLength &gt; 3 orderby nameLength select animalName; 在上面的查询表达式中,let关键字允许将值转发给where和orderby操作,而无需重复调用animalName.Length。 什么是LINQ扩展方法调用的等效集合,可以实现此处的“ let”关键字呢?

11
连接到网络共享时如何提供用户名和密码
当连接到当前用户(在我的情况下,是启用网络的服务用户)没有权限的网络共享时,必须提供名称和密码。 我知道如何使用Win32函数(WNet*来自的家族mpr.dll)来执行此操作,但想使用.Net(2.0)功能来执行此操作。 有哪些选项可用? 也许更多信息可以帮助您: 用例是Windows服务,而不是Asp.Net应用程序。 该服务在没有共享权限的帐户下运行。 共享所需的用户帐户在客户端未知。 客户端和服务器不是同一域的成员。

6
HttpClient-任务已取消?
当有一个或两个任务时,它工作正常,但是当我们列出多个任务时,会引发错误“任务已取消”。 List&lt;Task&gt; allTasks = new List&lt;Task&gt;(); allTasks.Add(....); allTasks.Add(....); Task.WaitAll(allTasks.ToArray(), configuration.CancellationToken); private static Task&lt;T&gt; HttpClientSendAsync&lt;T&gt;(string url, object data, HttpMethod method, string contentType, CancellationToken token) { HttpRequestMessage httpRequestMessage = new HttpRequestMessage(method, url); HttpClient httpClient = new HttpClient(); httpClient.Timeout = new TimeSpan(Constants.TimeOut); if (data != null) { byte[] byteArray = Encoding.ASCII.GetBytes(Helper.ToJSON(data)); MemoryStream memoryStream …

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.