Questions tagged «c#»

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

16
从流创建字节数组
从输入流创建字节数组的首选方法是什么? 这是我当前使用.NET 3.5的解决方案。 Stream s; byte[] b; using (BinaryReader br = new BinaryReader(s)) { b = br.ReadBytes((int)s.Length); } 读写流的块还是更好的主意吗?
911 c#  .net-3.5  inputstream 

30
枚举的字符串表示形式
我有以下列举: public enum AuthenticationMethod { FORMS = 1, WINDOWSAUTHENTICATION = 2, SINGLESIGNON = 3 } 但是问题是,当我要求AuthenticationMethod.FORMS而不是ID 1时,我需要单词“ FORMS”。 我已经找到以下针对此问题的解决方案(link): 首先,我需要创建一个名为“ StringValue”的自定义属性: public class StringValue : System.Attribute { private readonly string _value; public StringValue(string value) { _value = value; } public string Value { get { return _value; } } } …
911 c#  enums 

16
集合已修改;枚举操作可能无法执行
我无法弄清此错误的原因,因为在附加调试器后,似乎没有发生此错误。下面是代码。 这是Windows服务中的WCF服务器。每当有数据事件时,服务就会调用NotifySubscribers方法(以随机间隔,但不是很频繁-每天大约800次)。 Windows Forms客户端进行预订时,订户ID被添加到订户字典中,而当客户端取消订阅时,将从该词典中删除它。该错误发生在客户退订时(或之后)。看来,下次调用NotifySubscribers()方法时,foreach()循环会失败,并在主题行中出现错误。该方法将错误写入应用程序日志,如下面的代码所示。当附加了调试器并且客户端取消订阅时,代码将正常执行。 您看到此代码有问题吗?我需要使字典具有线程安全性吗? [ServiceBehavior(InstanceContextMode=InstanceContextMode.Single)] public class SubscriptionServer : ISubscriptionServer { private static IDictionary<Guid, Subscriber> subscribers; public SubscriptionServer() { subscribers = new Dictionary<Guid, Subscriber>(); } public void NotifySubscribers(DataRecord sr) { foreach(Subscriber s in subscribers.Values) { try { s.Callback.SignalData(sr); } catch (Exception e) { DCS.WriteToApplicationLog(e.Message, System.Diagnostics.EventLogEntryType.Error); UnsubscribeEvent(s.ClientId); } } } …

16
正确使用“收益率”
Н 堆栈溢出русском:产量? 该产量关键字是其中的一个关键字,在C#是继续迷惑我,而且我正确使用它,我从来没有自信。 在以下两段代码中,哪个是首选,为什么? 版本1:使用收益回报 public static IEnumerable<Product> GetAllProducts() { using (AdventureWorksEntities db = new AdventureWorksEntities()) { var products = from product in db.Product select product; foreach (Product product in products) { yield return product; } } } 版本2:返回列表 public static IEnumerable<Product> GetAllProducts() { using (AdventureWorksEntities db = new AdventureWorksEntities()) …
903 c#  yield-return 

24
在C#中将字符串转换为枚举
在C#中将字符串转换为枚举值的最佳方法是什么? 我有一个HTML选择标签,其中包含枚举的值。发布页面后,我要提取值(将以字符串形式)并将其转换为枚举值。 在理想的世界中,我可以这样做: StatusEnum MyStatus = StatusEnum.Parse("Active"); 但这不是有效的代码。
894 c#  string  enums 

26
'ref'和'out'关键字有什么区别?
我正在创建一个需要传递对象的函数,以便可以通过该函数对其进行修改。之间有什么区别? public void myFunction(ref MyClass someClass) 和 public void myFunction(out MyClass someClass) 我应该使用哪个?为什么?
891 c#  reference  keyword  out  ref 




7
实体框架5更新记录
我一直在探索在ASP.NET MVC3环境中在Entity Framework 5中编辑/更新记录的不同方法,但是到目前为止,它们都没有打勾我需要的所有框。我会解释原因。 我发现了三种方法的优缺点: 方法1-加载原始记录,更新每个属性 var original = db.Users.Find(updatedUser.UserId); if (original != null) { original.BusinessEntityId = updatedUser.BusinessEntityId; original.Email = updatedUser.Email; original.EmployeeId = updatedUser.EmployeeId; original.Forename = updatedUser.Forename; original.Surname = updatedUser.Surname; original.Telephone = updatedUser.Telephone; original.Title = updatedUser.Title; original.Fax = updatedUser.Fax; original.ASPNetUserId = updatedUser.ASPNetUserId; db.SaveChanges(); } 优点 可以指定要更改的属性 视图不需要包含每个属性 缺点 在数据库上进行2次查询以加载原始文件,然后对其进行更新 方法2-加载原始记录,设置更改的值 …

30
您如何计算字符串中字符串(实际上是字符)的出现?
我在做某件事,我意识到我想计算/一个字符串中可以找到多少个,然后让我感到震惊的是,有几种方法可以做到,但无法确定最好的(或最简单的)是什么。 目前,我正在处理类似: string source = "/once/upon/a/time/"; int count = source.Length - source.Replace("/", "").Length; 但是,我一点都不喜欢它,对吗? 我真的不想为此挖出来RegEx,是吗? 我知道我的字符串将包含我要搜索的术语,因此可以假定... 当然对于串的其中 长度> 1, string haystack = "/once/upon/a/time"; string needle = "/"; int needleCount = ( haystack.Length - haystack.Replace(needle,"").Length ) / needle.Length;
863 c#  string 

16
如何在C#中从同步方法调用异步方法?
我有一个public async void Foo()要从同步方法调用的方法。到目前为止,我从MSDN文档中看到的所有内容都是通过异步方法调用异步方法,但是我的整个程序不是使用异步方法构建的。 这有可能吗? 这是从异步方法调用这些方法的一个示例:http : //msdn.microsoft.com/zh-cn/library/hh300224(v=vs.110).aspx 现在,我正在研究从同步方法调用这些异步方法。
861 c#  async-await 


20
随机列出<T>
在C#中随机化泛型列表顺序的最佳方法是什么?我想给一个随机顺序分配一个列表中的75个数字的有限集合,以便为彩票类型的应用程序绘制它们。
852 c#  generic-list 

22
从IList <string>或IEnumerable <string>创建逗号分隔的列表
从IList&lt;string&gt;或创建以逗号分隔的字符串值列表的最干净方法是什么IEnumerable&lt;string&gt;? String.Join(...)在string[]诸如IList&lt;string&gt;或IEnumerable&lt;string&gt;无法轻易将其转换为字符串数组的类型时,对此类进行操作可能会很麻烦。
848 c#  string 

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.