找到 2628 篇文章 关于 C#
23K+ 阅读量
要获取目录,C# 提供了一个方法 Directory.GetDirectories。Directory.GetDirectories 方法返回指定目录中与指定搜索模式匹配的子目录(包括其路径)的名称,并可以选择搜索子目录。在下面的示例中,* 匹配该位置的零个或多个字符。SearchOption TopDirectoryOnly 获取仅顶层目录和 SearchOption AllDirectories 获取所有顶层目录和子目录。注意:rootPath 将是您系统的 rootPath,因此创建一个测试文件夹并相应地使用 rootPath。示例 1static void Main (string[] args) { string rootPath = @"C:\Users\Koushik\Desktop\TestFolder"; string[] dirs = Directory.GetDirectories(rootPath, "*", SearchOption.TopDirectoryOnly); ... 阅读更多
8K+ 阅读量
IEnumerable 是一个定义单个方法 GetEnumerator() 的接口,该方法返回一个 IEnumerator 接口。它是所有可枚举的非泛型集合的基本接口。这适用于对实现该 IEnumerable 的集合的只读访问,可与 foreach 语句一起使用。List 类表示对象的列表,可以通过索引访问。它位于 System.Collection.Generic 命名空间下。List 类可用于创建不同类型的集合,例如整数、字符串等。List 类还提供用于搜索、排序和操作列表的方法。示例 1static void Main(string[] args) { List list = new ... 阅读更多
2K+ 阅读量
MaxLength 验证器确保特定字符串属性的长度不超过指定值。仅对字符串属性有效字符串格式参数:{PropertyName} = 正在验证的属性的名称{MaxLength} = 最大长度{TotalLength} = 输入的字符数{PropertyValue} = 属性的当前值MinLength 验证器确保特定字符串属性的长度长于指定值。仅对字符串属性有效{PropertyName} = 正在验证的属性的名称{MinLength} = 最小长度{TotalLength} = 输入的字符数{PropertyValue} = 属性的当前值示例static void Main(string[] args){ List errors = new List(); PersonModel ... 阅读更多
4K+ 阅读量
要为特定属性指定验证规则,请调用 RuleFor 方法,并传递一个 lambda 表达式,该表达式指示您希望验证的属性RuleFor(p => p.DateOfBirth)要运行验证器,请实例化验证器对象并调用 Validate 方法,并将要验证的对象传递给它。ValidationResult results = validator.Validate(person);Validate 方法返回一个 ValidationResult 对象。这包含两个属性IsValid - 一个布尔值,表示验证是否成功。Errors - 一个 ValidationFailure 对象的集合,其中包含有关任何验证失败的详细信息示例 1static void Main(string[] args) { List errors = new List(); PersonModel person = new PersonModel(); person.FirstName ... 阅读更多
2K+ 阅读量
FluentValidation 是一个用于构建强类型验证规则的 .NET 库。它使用流畅的接口和 lambda 表达式来构建验证规则。它有助于清理您的域代码并使其更具凝聚力,以及为您提供一个查找验证逻辑的位置要使用 Fluent Validation,我们必须安装以下包示例 1static class Program { static void Main (string[] args) { List errors = new List(); PersonModel person = new PersonModel(); person.FirstName = ""; person.LastName = "S"; ... 阅读更多
4K+ 阅读量
要复制文件,C# 提供了一个方法 File. CopyFile。Copy 有 2 个重载Copy(String, String) - 将现有文件复制到新文件。不允许覆盖同名文件。Copy(String, String, Boolean) 将现有文件复制到新文件。允许覆盖同名文件。Directory.GetFiles 返回与指定搜索模式匹配的所有文件(包括其路径)的名称,并可以选择搜索子目录。示例static void Main (string[] args) { string rootPath = @"C:\Users\Koushik\Desktop\TestFolder\TestFolderMain1"; var searchSourceFolder = Directory.GetFiles(rootPath, "*.*", SearchOption.TopDirectoryOnly); Console.WriteLine("-------------源文件夹-------------"); foreach (string file in searchSourceFolder){ ... 阅读更多
2K+ 阅读量
将耦合(依赖)对象注入(转换)到解耦(独立)对象的过程称为依赖注入。依赖注入类型有四种:1. 构造函数注入2. Setter 注入3. 基于接口的注入4. 服务定位器注入构造函数注入构造函数用于通过参数化构造函数公开的接口参数。它通过构造函数方法作为对象创建其他类来注入依赖项。Setter 注入Getter 和 Setter 注入通过使用默认的公共属性过程(如 Gettter(get(){}) 和 Setter(set(){}))注入依赖项。TInterface 注入接口注入类似于 Getter 和 Setter DI,Getter 和 Setter DI 使用默认的 getter 和 setter,但接口注入使用支持接口(一种... 阅读更多
2K+ 阅读量
Json.NET 支持使用 XmlNodeConverter 在 JSON 和 XML 之间进行转换。在两种格式之间转换时,元素、属性、文本、注释、字符数据、处理指令、命名空间和 XML 声明都将保留SerializeXmlNodeJsonConvert 有两个用于在 JSON 和 XML 之间转换的辅助方法。第一个是 SerializeXmlNode()。此方法接受一个 XmlNode 并将其序列化为 JSON 文本。DeserializeXmlNodeJsonConvert 上的第二个辅助方法是 DeserializeXmlNode()。此方法接受 JSON 文本并将其反序列化为 XmlNode。示例 1static void Main(string[] args) { string xml = @"Alanhttp://www.google1.com Admin1"; XmlDocument doc = new XmlDocument(); doc.LoadXml(xml); string json = JsonConvert.SerializeXmlNode(doc); ... 阅读更多
504 阅读量
位图由图形图像的像素数据及其属性组成。保存位图到文件的标准格式有很多。GDI+ 支持以下文件格式:BMP、GIF、EXIF、JPG、PNG 和 TIFF。您可以使用其中一个 Bitmap 构造函数从文件、流和其他来源创建图像,并使用 Save 方法将它们保存到流或文件系统。在下面的代码中,CompressAndSaveImageAsync 方法压缩图像并保存在提到的路径中。新图像名称将是桌面用户 ID 和日期时间的组合示例private async Task CompressAndSaveImageAsync(Bitmap ... 阅读更多
1K+ 次查看
并行 ForeachC# 中的 Parallel.ForEach 循环在多个线程上运行,处理并行进行。Parallel.ForEach 循环不是 C# 的基本特性,它从 C# 4.0 及更高版本开始可用。要使用 Parallel.ForEach 循环,我们需要在 using 指令中导入 System.Threading.Tasks 命名空间。ForeachC# 中的 Foreach 循环在一个线程上运行,处理依次顺序进行。Foreach 循环是 C# 的基本特性,它从 C# 1.0 开始可用。在大多数情况下,它的执行速度比 Parallel.Foreach 慢。示例 1static void Main(string[] args){ List alphabets = new ... 阅读更多