Questions tagged «c#»

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

7
.NET中仅允许唯一项的集合?
C#中是否有一个集合,不允许您向其中添加重复项?例如,对于傻类 public class Customer { public string FirstName { get; set; } public string LastName { get; set; } public string Address { get; set; } public override int GetHashCode() { return (FirstName + LastName + Address).GetHashCode(); } public override bool Equals(object obj) { Customer C = obj as Customer; …
102 c#  set  hashset 

6
如何从C#中的字符串获取枚举值?
我有一个枚举: public enum baseKey : uint { HKEY_CLASSES_ROOT = 0x80000000, HKEY_CURRENT_USER = 0x80000001, HKEY_LOCAL_MACHINE = 0x80000002, HKEY_USERS = 0x80000003, HKEY_CURRENT_CONFIG = 0x80000005 } 给定字符串HKEY_LOCAL_MACHINE,如何获得0x80000002基于枚举的值?
102 c#  enums 


5
Web Api的Xml文档如何包含主项目之外的文档?
用于将XmlDoc集成到Web Api项目中的文档似乎仅用于处理所有API类型都属于WebApi项目的情况。特别是,它讨论了如何将XML文档重新路由到App_Data/XmlDocument.xml配置中的一行并取消注释该行,该行将占用该文件。这隐含地只允许一个项目的文档文件。 但是,在我的设置中,我的请求和响应类型在常见的“模型”项目中定义。这意味着如果我定义了一个端点,例如: [Route("auth/openid/login")] public async Task<AuthenticationResponse> Login(OpenIdLoginRequest request) { ... } 在OpenIdLoginRequest单独的C#项目中定义where ,如下所示: public class OpenIdLoginRequest { /// <summary> /// Represents the OpenId provider that authenticated the user. (i.e. Facebook, Google, etc.) /// </summary> [Required] public string Provider { get; set; } ... } 尽管有XML文档,但是request当您查看特定于端点的帮助页面(即http://localhost/Help/Api/POST-auth-openid-login)时,该参数的属性不包含任何文档。 如何使带有XML文档的子项目中的类型出现在Web API XML文档中?

12
CA2202,如何解决这种情况
谁能告诉我如何从以下代码中删除所有CA2202警告? public static byte[] Encrypt(string data, byte[] key, byte[] iv) { using(MemoryStream memoryStream = new MemoryStream()) { using (DESCryptoServiceProvider cryptograph = new DESCryptoServiceProvider()) { using (CryptoStream cryptoStream = new CryptoStream(memoryStream, cryptograph.CreateEncryptor(key, iv), CryptoStreamMode.Write)) { using(StreamWriter streamWriter = new StreamWriter(cryptoStream)) { streamWriter.Write(data); } } } return memoryStream.ToArray(); } } 警告7 CA2202:Microsoft。用法:对象“ …
102 c#  .net  code-analysis  fxcop 


3
什么是.axd文件?
.axd文件的目的是什么? 我知道在ASP.Net AJAX工具包及其控件中使用了它。我想了解更多。 我尝试使用Google搜索,但是找不到基本信息。
102 c#  asp.net  vb.net 

4
编译器歧义调用错误-具有Func <>或Action的匿名方法和方法组
我有一种情况,我想使用方法组语法而不是匿名方法(或lambda语法)来调用函数。 该函数有两个重载,一个接受一个Action,其他的需要Func&lt;string&gt;。 我可以使用匿名方法(或lambda语法)愉快地调用这两个重载,但是如果我使用方法组语法,则会出现歧义调用的编译器错误。我可以通过显式强制转换为Action或来变通Func&lt;string&gt;,但是认为这没有必要。 谁能解释为什么需要显式强制转换。 下面的代码示例。 class Program { static void Main(string[] args) { ClassWithSimpleMethods classWithSimpleMethods = new ClassWithSimpleMethods(); ClassWithDelegateMethods classWithDelegateMethods = new ClassWithDelegateMethods(); // These both compile (lambda syntax) classWithDelegateMethods.Method(() =&gt; classWithSimpleMethods.GetString()); classWithDelegateMethods.Method(() =&gt; classWithSimpleMethods.DoNothing()); // These also compile (method group with explicit cast) classWithDelegateMethods.Method((Func&lt;string&gt;)classWithSimpleMethods.GetString); classWithDelegateMethods.Method((Action)classWithSimpleMethods.DoNothing); // These both error …
102 c#  delegates 


2
什么是WCF RIA服务?
我讨厌WSDN RIA服务的MSDN网站。它不说它是什么,而仅说它是什么。它说它可以实现什么,但没有说我为什么需要它。 例如: “开发n层RIA解决方案时的常见问题是在中间层和表示层之间协调应用程序逻辑”。 好吧,对我来说意义不大。 “ RIA Services通过提供框架组件,工具和服务来解决此问题,这些框架组件,工具和服务使RIA客户端可以使用服务器上的应用程序逻辑,而无需您手动复制该编程逻辑。您可以创建了解业务规则的RIA客户端并且知道,每次重新编译解决方案时,都会使用最新的中间层逻辑自动更新客户端。” 那么它会从服务器下载DLL吗?它是描述数据规则的元数据吗? 那是什么 仅仅是RAD的VS 2010插件吗?还是在WCF之上或之下的技术?它在哪里生活?用数据,用服务器,什么? 谢谢您能为我总结一下。
102 c#  .net  wcf  ria 

7
如何创建在Visual Studio中使用的新语言
我想编写一种新的模板语言,并且我希望Visual Studio“支持”它。我需要知道的是: 如何解析我的新语言? 给定我的新模板语言中的一些代码,如何将其转换为HTML?现在,我正在使用正则表达式逐个标记地解析它,但是随着语言变得越来越复杂,并且没有错误检查,我认为这不会很好地扩展。我听说过ANTLR,但从未使用过。那将是完成这项工作的正确工具,还是可能更简单?理想情况下,我想像其他语言一样,将语法错误发送到错误窗口,并提供尽可能多的信息(行号,错误类型)。 如何为Visual Studio创建新的文件类型? 如何获得语法突出显示? 我可以使用在步骤1中创建的相同解析器,还是完全不同? 如何获得Intellisense? 我更喜欢用C#编写解析器。

2
控制台应用程序中的可靠计时器
我知道在.NET中有三种计时器类型(请参阅.NET Framework类库中的比较计时器类)。我选择了线程计时器,因为如果主线程繁忙,其他类型的计时器可能会漂移,因此我需要确保它的可靠性。 此计时器在计时器控制中的工作方式放置在另一个线程上,因此当它不忙时,它始终可以与父线程上的工作一起开始计时。 控制台应用程序中此计时器的问题在于,当计时器在另一个线程上滴答作响时,主线程没有对应用程序执行任何操作,因此关闭了该线程。 我尝试添加一个while true循环,但是当计时器关闭时,主线程太忙了。
102 c#  .net  vb.net  timer 

3
STAThread和多线程
从STAThread上的MSDN文章中: 指示应用程序的COM线程模型是单线程单元(STA)。 (供参考,这是整篇文章。) 单线程公寓...好吧,这让我头疼。另外,我在某处读到,除非您的应用程序使用COM互操作,否则此属性实际上什么都不做。那么它到底是做什么的,又如何影响多线程应用程序呢?Timer即使“为了安全”,多线程应用程序(包括使用s的任何人到异步方法调用,而不仅仅是线程池之类的东西)都应该使用MTAThread吗?STAThread和MTAThread实际做什么?
102 c#  .net  multithreading  sta 

12
检查密码是否为“ 8个字符,包括1个大写字母,1个特殊字符,字母数字字符”的正则表达式
我想要一个正则表达式来检查 密码必须是八个字符,包括一个大写字母,一个特殊字符和字母数字字符。 这是我的验证表达式,它包含八个字符,包括一个大写字母,一个小写字母和一个数字或特殊字符。 (?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$" 如何为必须包含八个大写字母(一个大写字母,一个特殊字符和字母数字字符)的密码编写密码?
102 c#  regex 

4
所请求的资源不支持HTTP方法“ GET”
我的路线已正确配置,并且我的方法具有修饰标记。我仍然收到“请求的资源不支持HTTP方法'GET'”消息吗? [System.Web.Mvc.AcceptVerbs("GET", "POST")] [System.Web.Mvc.HttpGet] public string Auth(string username, string password) { // Décoder les paramètres reçue. string decodedUsername = username.DecodeFromBase64(); string decodedPassword = password.DecodeFromBase64(); return "value"; } 这是我的路线: config.Routes.MapHttpRoute( name: "AuthentificateRoute", routeTemplate: "api/game/authentificate;{username};{password}", defaults: new { controller = "Game", action = "Auth", username = RouteParameter.Optional, password = RouteParameter.Optional }, constraints: …

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.