找到 34423 篇文章 关于编程
2K+ 次浏览
对于更简单、更轻量级的服务,WEB API 是更好的选择。WEB API 可以使用任何文本格式,包括 XML,并且比 WCF 更快。它使用标准 HTTP 动词(如 GET、POST、PUT、DELETE)进行所有 CRUD 操作,按照 HTTP 的工作方式运行。完全支持路由,使用 MediaTypeFormatter 生成 JSON 和 XML 格式的响应。它能够托管在 IIS 中,也可以在 IIS 之外自行托管。支持模型绑定和验证。支持 ODATA。支持数据的无状态传输。支持 URL 模式和 HTTP 方法。注意 - ODATA(开放数据协议)是一个开放协议,允许创建和使用……阅读更多
176 次浏览
C# 8.0 引入了异步流,它模拟了数据流式传输源。数据流通常异步地检索或生成元素。现在,生成序列的代码可以使用 yield return 在声明为 async 修饰符的方法中返回元素。我们可以使用 await foreach 循环使用异步流。下面的语法:static IEnumerable Message(){ yield return "Hello!"; yield return "Hello!"; } 可以替换为 IAsyncEnumerable static async IAsyncEnumerable MessageAsync(){ await Task.Delay(2000); yield return "Hello!"; await Task.Delay(2000); yield return "Hello!"; }示例类 Program{ public static async Task Main(){ ... 阅读更多
78 次浏览
^ 运算符 - 它被称为从末尾开始的索引运算符。它返回相对于序列或集合末尾的索引。与早期方法相比,它是查找末尾元素最紧凑、最简单的方法。company.listEmployees[^2].Name = "使用新语法更改的员工 2 名称";company.listEmployees[^5].Name = "使用新语法更改的员工 5 名称";company.listEmployees[^8].Name = "使用新语法更改的员工 8 名称";示例public class Employee{ public int EmployeeId { get; set; } public string Name { get; set; } public string Gender { get; set; } } public class Company{ public List ... 阅读更多
1K+ 次浏览
switch 表达式在表达式上下文中提供了类似 switch 的语义。switch 是一种选择语句,它根据与匹配表达式的模式匹配,从候选列表中选择一个 switch 部分来执行。如果对单个表达式测试三个或更多条件,则 switch 语句通常用作 if-else 结构的替代方案。示例新的 switch 写法var message = c switch{ Fruits.Red => "水果是红色的", Fruits.Green => "水果是绿色的", Fruits.Blue => "水果是蓝色的" };示例 1类 Program{ public enum Fruits { Red, Green, ... 阅读更多
565 次浏览
引用返回值允许方法返回对变量的引用,而不是值。然后,调用者可以选择将返回的变量视为按值或按引用返回。调用者可以创建一个新的变量,它本身是对返回的值的引用,称为 ref 局部变量。在下面的示例中,即使我们修改了颜色,它也不会对原始数组 colors 产生任何影响示例类 Program{ public static void Main(){ var colors = new[] { "blue", "green", "yellow", "orange", "pink" }; string color ... 阅读更多
367 次浏览
二进制字面量 - 在 C# 7 之前,我们只能将十进制和十六进制值赋给变量。在 C# 7.0 中引入了二进制字面量,它允许我们将二进制值赋给变量。数字分隔符 - 数字分隔符采用单个下划线 (_) 的形式。此分隔符可用于任何数字字面量中,以提高可读性。示例二进制字面量 - 示例类 Program{ public static void Main(){ var bn = 0b1000001; System.Console.WriteLine(bn.GetType()); System.Console.WriteLine(Convert.ToChar(bn)); Console.ReadLine(); } }输出System.Int32 A示例数字分隔符 - 示例类 Program{ public static void ... 阅读更多
269 次浏览
C# 7.0 在两种情况下引入了模式匹配:is 表达式和 switch 语句。模式测试值是否具有某种形状,并且当值具有匹配形状时,可以从值中提取信息。模式匹配为算法提供了更简洁的语法。您可以对任何数据类型(甚至您自己的数据类型)执行模式匹配,而对于 if/else,您总是需要基元来匹配。模式匹配可以从表达式中提取值。模式匹配之前 - 示例public class PI{ public const float Pi = 3.142f; } public class Rectangle : PI{ public double Width { get; set; } public double height ... 阅读更多
127 次浏览
局部函数是嵌套在另一个成员中的类型的私有方法。它们只能从其包含成员中调用。局部函数可以在以下位置声明和调用:方法,特别是迭代器方法和异步方法构造函数属性访问器事件访问器匿名方法Lambda 表达式终结器其他局部函数示例 1类 Program{ public static void Main(){ void addTwoNumbers(int a, int b){ System.Console.WriteLine(a + b); } addTwoNumbers(1, 2); Console.ReadLine(); } }输出3示例 2类 Program{ public static void Main(){ void addTwoNumbers(int a, int b, out int c){ c = a + b; } addTwoNumbers(1, 2, out int c); System.Console.WriteLine(c); Console.ReadLine(); } }输出3
167 次浏览
C# 允许在同一个程序中使用多个反构造函数方法,这些方法具有相同数量的 out 参数,或者在不同的顺序中具有相同数量和类型的 out 参数。它是新的元组语法的一部分 - 它与 Tuple 类无关,而是来自函数式编程。Deconstruct 关键字用于反构造函数示例public class Employee{ public Employee(string employeename, string firstName, string lastName){ Employeename = employeename; FirstName = firstName; LastName = lastName; } public string Employeename { get; } public string FirstName ... 阅读更多
149 次浏览
我们可以将 out 值内联声明为它们使用的方法的参数。此版本改进了现有的 out 参数。现在,我们可以在方法调用的参数列表中声明 out 变量,而不必编写单独的声明语句。优点 - 代码更易于阅读。无需赋值初始值。现有语法 - 示例类 Program{ public static void AddMultiplyValues(int a, int b, out int c, out int d){ c = a + b; d = a * b; } public static void Main(){ int ... 阅读更多
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP