草庐IT

c# - 如何为多个 BO 属性定义 IDataErrorInfo 错误属性

我开始通过IDataErrorInfo接口(interface)在我的WPF项目中实现验证。我的业务对象包含多个带有验证信息的属性。如何获取与该对象关联的所有错误消息的列表。我的想法是,这就是Error属性的用途,但我无法找到任何人使用它来报告多个属性。谢谢!publicstringthis[stringproperty]{get{stringmsg=null;switch(property){case"LastName":if(string.IsNullOrEmpty(LastName))msg="Needalastname";break;case"FirstName":if(str

c# - 如何根据字母和数字在 C# 中拆分字符串

如何在C#中将“Mar10”等字符串拆分为“Mar”和“10”?字符串的格式始终是字母然后是数字,因此我可以使用数字的第一个实例作为字符串拆分位置的指示符。 最佳答案 你可以这样做:varmatch=Regex.Match(yourString,"(\w+)(\d+)");varmonth=match.Groups[0].Value;varday=int.Parse(match.Groups[1].Value); 关于c#-如何根据字母和数字在C#中拆分字符串,我们在StackOverf

c# - List<string> 复杂排序

我有一个List尺码,例如XS、S、M、L、XL、XXL、UK10、UK12等我想要的是强制顺序为上面的顺序,不管列表中项目的顺序如何,我想我需要一个IComparable运算符但不确定。理想情况下,我希望有另一个具有正确顺序的列表,它可以引用它在列表中的“位置”并自行重新排序,如果它不存在,它将默认为A-Z 最佳答案 按照您希望的顺序创建一个尺码数组,然后根据尺码在该数组中的位置对衬衫进行排序:string[]sizes=new[]{"XS","S","M","L","XL","XXL","UK10","UK12"};varshi

C# 字符串与字符串, boolean 与 boolean 值

这个问题在这里已经有了答案:WhatisthedifferencebetweenStringandstringinC#?(66个答案)关闭9年前。string和String/bool和Boolean之间有什么区别吗?我应该更喜欢使用其中一种吗?或者我应该尽量避免在这些类型之间进行转换(我已经注意到应用程序能够处理这种转换,但可能会出现一些问题)...或者这只是毫无意义的问题?

c# - StartIndex 不能小于零。 - 尝试更改字符串时出错

我有以下C#代码:ArticleContent=ds1.Tables[0].Rows[i]["ArticleContent"].ToString();if(ArticleContent.Length>260){ArticleContent=ArticleContent.Remove(ArticleContent.IndexOf('.',250))+"...";}这里的问题是我收到此错误消息:StartIndexcannotbelessthanzero.为什么以及如何解决? 最佳答案 您收到该错误是因为在索引250上或之后没有'.'字

c# - 从列表中填充组合框

新人在这里,我目前正在处理一个带有组合框的表格,它将显示几个查理布朗电视特别节目,您可以单击以选择并查看描述、评级、运行时间等。我很接近但我不是在填充组合框方面,我希望得到一些帮助和指导。我看过其他人做过的几件事,但我的知识还不够丰富,无法从目前所看到的内容中推断出答案。现在我也在尝试:1.从您的加载方法中获取列表2.遍历它们3.访问我的组合框,用列表中的时间填充框。Form1.csusingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Dra

c# - 将字符串拆分为最大长度的行而不打断单词的最佳方法

我想将一个字符串分成指定最大长度的行,如果可能的话,不拆分任何单词(如果有一个单词超过了最大行长度,那么它就必须被拆分)。一如既往,我敏锐地意识到字符串是不可变的,最好使用StringBuilder类。我见过将字符串拆分为单词然后使用StringBuilder类构建行的示例,但下面的代码对我来说似乎“更简洁”。我在描述中提到“最好”而不是“最有效”,因为我也对代码的“Eloquent”感兴趣。字符串永远不会很大,一般分成两三行,也不会出现几千行的情况。下面的代码真的很糟糕吗?privatestaticIEnumerableSplitToLines(stringstringToSplit

c# - 在 C# 中使字典只读

我有一个Dictionary>并希望将该成员公开为只读。我看到我可以将其作为IReadOnlyDictionary>返回,但我不知道如何将它作为IReadOnlyDictionary>返回.有没有办法做到这一点?在C++中,我只是使用const,但C#没有。请注意,只需使用IReadOnlyDictionary在这种情况下没有帮助,因为我也希望这些值是只读的。看起来唯一的方法是构建另一个IReadOnlyDictionary,并向其中添加IReadOnlyList。另一个我不会感到兴奋的选择是创建实现接口(interface)IReadOnlyDictionary>的包装器,并让它保存

c# - 如何在数据 View 中过滤数据

我想在listview的textchange事件上过滤数据,所以我使用dataview来过滤数据。下面代码中的问题是,我在每个内部使用数据View,这样它只检查一个条件,它只需要最后一个值,我想用数据View检查s1中的值,剩余的值应该与ListView。例如:如果我在文本框中键入an,它应该列出所有以anandhakumar,anna等值开头的项目值。假设我将值anandhakumar和anna保存在数组s1中。我应该在ListView中列出所有其他值,期望像antonyect...这样的数组值。protectedvoidTextBox1_TextChanged(objectsend

c# - 泛型类中的方法重载

我正在使用包含以下泛型类重载方法的代码:publicclassA{publicvoidProcess(Titem){/*impl*/}publicvoidProcess(stringitem){/*impl*/}}当为string参数化类时,我是否失去了使用通用参数调用版本的可能性?vara=newA();a.Process("");//Alwayscallsthenon-genericProcess(string) 最佳答案 特定类型优先于通用类型。例如,这是我在LINQPad中测试的内容。voidMain(){newA().Pr