diff --git "a/\351\231\210\351\270\277\345\246\202/20240514API\344\270\216REST.MD" "b/\351\231\210\351\270\277\345\246\202/\347\254\224\350\256\260/20240514API\344\270\216REST.MD" similarity index 100% rename from "\351\231\210\351\270\277\345\246\202/20240514API\344\270\216REST.MD" rename to "\351\231\210\351\270\277\345\246\202/\347\254\224\350\256\260/20240514API\344\270\216REST.MD" diff --git "a/\351\231\210\351\270\277\345\246\202/20240520\345\210\233\345\273\272\344\270\200\344\270\252\351\241\271\347\233\256.md" "b/\351\231\210\351\270\277\345\246\202/\347\254\224\350\256\260/20240520\345\210\233\345\273\272\344\270\200\344\270\252\351\241\271\347\233\256.md" similarity index 100% rename from "\351\231\210\351\270\277\345\246\202/20240520\345\210\233\345\273\272\344\270\200\344\270\252\351\241\271\347\233\256.md" rename to "\351\231\210\351\270\277\345\246\202/\347\254\224\350\256\260/20240520\345\210\233\345\273\272\344\270\200\344\270\252\351\241\271\347\233\256.md" diff --git "a/\351\231\210\351\270\277\345\246\202/20240521\346\216\247\345\210\266\345\231\250\350\267\257\347\224\261.md" "b/\351\231\210\351\270\277\345\246\202/\347\254\224\350\256\260/20240521\346\216\247\345\210\266\345\231\250\350\267\257\347\224\261.md" similarity index 100% rename from "\351\231\210\351\270\277\345\246\202/20240521\346\216\247\345\210\266\345\231\250\350\267\257\347\224\261.md" rename to "\351\231\210\351\270\277\345\246\202/\347\254\224\350\256\260/20240521\346\216\247\345\210\266\345\231\250\350\267\257\347\224\261.md" diff --git "a/\351\231\210\351\270\277\345\246\202/20240523\344\276\235\350\265\226\346\263\250\345\205\245.md" "b/\351\231\210\351\270\277\345\246\202/\347\254\224\350\256\260/20240523\344\276\235\350\265\226\346\263\250\345\205\245.md" similarity index 100% rename from "\351\231\210\351\270\277\345\246\202/20240523\344\276\235\350\265\226\346\263\250\345\205\245.md" rename to "\351\231\210\351\270\277\345\246\202/\347\254\224\350\256\260/20240523\344\276\235\350\265\226\346\263\250\345\205\245.md" diff --git "a/\351\231\210\351\270\277\345\246\202/20240524\344\276\235\350\265\226\346\263\250\345\205\245(\345\244\215\344\271\240).md" "b/\351\231\210\351\270\277\345\246\202/\347\254\224\350\256\260/20240524\344\276\235\350\265\226\346\263\250\345\205\245(\345\244\215\344\271\240).md" similarity index 100% rename from "\351\231\210\351\270\277\345\246\202/20240524\344\276\235\350\265\226\346\263\250\345\205\245(\345\244\215\344\271\240).md" rename to "\351\231\210\351\270\277\345\246\202/\347\254\224\350\256\260/20240524\344\276\235\350\265\226\346\263\250\345\205\245(\345\244\215\344\271\240).md" diff --git "a/\351\231\210\351\270\277\345\246\202/\347\254\224\350\256\260/20240527\350\267\257\347\224\261(\344\274\240\345\217\202).md" "b/\351\231\210\351\270\277\345\246\202/\347\254\224\350\256\260/20240527\350\267\257\347\224\261(\344\274\240\345\217\202).md" new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git "a/\351\231\210\351\270\277\345\246\202/\347\254\224\350\256\260/20240528\350\277\207\346\273\244\345\231\250&\346\225\260\346\215\256\345\272\223\350\277\236\346\216\245&\346\227\245\345\277\227\346\214\201\344\271\205\345\214\226.md" "b/\351\231\210\351\270\277\345\246\202/\347\254\224\350\256\260/20240528\350\277\207\346\273\244\345\231\250&\346\225\260\346\215\256\345\272\223\350\277\236\346\216\245&\346\227\245\345\277\227\346\214\201\344\271\205\345\214\226.md" new file mode 100644 index 0000000000000000000000000000000000000000..e3e970ad2d904011c2cfc2925c45adaf66bea8f5 --- /dev/null +++ "b/\351\231\210\351\270\277\345\246\202/\347\254\224\350\256\260/20240528\350\277\207\346\273\244\345\231\250&\346\225\260\346\215\256\345\272\223\350\277\236\346\216\245&\346\227\245\345\277\227\346\214\201\344\271\205\345\214\226.md" @@ -0,0 +1,74 @@ + + +# Asp.net 8.0 连接数据库 + + + +1.下包 + +- dotnet tool install --global dotnet-ef (这个包是工具包 没又这个工具是不能下载下面那些包的) + +- dotnet add Microsoft.EntityFrameworkCore.SqlServer + +- dotnet add Microsoft.EntityFrameworkCore.Design + + + +2.在appsetting.json 配置数据库连接字符串 + +```c# + "ConnectionStrings": { + "DefaultConnection": "Server=YB;Database=demo1;User Id=sa;Password=123456;TrustServerCertificate=True;" + } +``` + +3.在Startup文件 添加数据库的服务 并且连接数据库 + +```c# + services.AddDbContext(options => + options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")) + ); +``` + +4.创建一个表格的类 + +```c# + public class Blog + { + public int Id { get; set; } + public string? Title { get; set; } + public string? Content { get; set; } + // 其他博客文章属性... + } +``` + +5.创建数据库类 + +```c# +using Microsoft.EntityFrameworkCore; + +namespace CreateDemo1.Data; + + public class MyDbContext : DbContext + { + // 示例DbSet属性,代表数据库中的一个表 + public DbSet Blogs { get; set; } + + public MyDbContext(DbContextOptions options) : base(options) + { + // 构造函数中调用基类的构造函数 + } + } +``` + +6.迁移数据库 + +``` +dotnet ef migrations add InitialCreate +dotnet ef database update +``` + + + +# Asp.net 8.0 中使用 Serilog 并将其持久化保存到数据库 + diff --git "a/\351\231\210\351\270\277\345\246\202/\347\254\224\350\256\260/20240530\346\200\273\347\273\223.md" "b/\351\231\210\351\270\277\345\246\202/\347\254\224\350\256\260/20240530\346\200\273\347\273\223.md" new file mode 100644 index 0000000000000000000000000000000000000000..ad4c9b5169bbdc0cc951a6be899df0ce1efb6d84 --- /dev/null +++ "b/\351\231\210\351\270\277\345\246\202/\347\254\224\350\256\260/20240530\346\200\273\347\273\223.md" @@ -0,0 +1 @@ +# 大爱仙尊 \ No newline at end of file diff --git "a/\351\231\210\351\270\277\345\246\202/\347\254\224\350\256\260/20240530\351\235\231\346\200\201\350\267\257\347\224\261&\345\212\250\346\200\201\350\267\257\347\224\261&\351\233\206\345\220\210.md" "b/\351\231\210\351\270\277\345\246\202/\347\254\224\350\256\260/20240530\351\235\231\346\200\201\350\267\257\347\224\261&\345\212\250\346\200\201\350\267\257\347\224\261&\351\233\206\345\220\210.md" new file mode 100644 index 0000000000000000000000000000000000000000..5c418b9be5388dd5db530956a5dfc98e9647f1e7 --- /dev/null +++ "b/\351\231\210\351\270\277\345\246\202/\347\254\224\350\256\260/20240530\351\235\231\346\200\201\350\267\257\347\224\261&\345\212\250\346\200\201\350\267\257\347\224\261&\351\233\206\345\220\210.md" @@ -0,0 +1,110 @@ +# 静态方法 + +### 特点: + +1. **使用类名调用**:静态方法可以通过类名直接调用,例如 `ClassName.MethodName()`。 +2. **无需实例化**:由于静态方法不依赖于类的实例状态,因此不需要创建对象即可调用。 +3. **静态上下文**:静态方法不能访问非静态成员,因为它们不与任何特定的对象实例相关联。 +4. **常用于工具类**:静态方法常用于工具类或助手类,提供一些通用的功能,如数学计算、日期时间处理等。 +5. **可以是私有的**:静态方法也可以是私有的,这意味着它们只能在定义它们的类内部被访问。 +6. **不能被子类化**:静态方法不能被子类重写。 +7. **与实例方法的区别**:实例方法需要通过对象调用,并且可以访问类的实例成员。 + +# 动态方法 + +### 特点: + +1. **运行时创建**:动态方法在运行时创建,而不是在编译时定义。 +2. **使用 `System.Reflection.Emit` 创建**:动态方法通常使用 `System.Reflection.Emit.DynamicMethod` 类创建。 +3. **不保留签名**:动态方法不需要在编译时知道方法签名,参数类型和返回类型可以在运行时指定。 +4. **灵活性**:可以动态地调用具有不同签名的方法。 +5. **通常用于反射**:在需要通过反射调用方法,但又不想受限于编译时类型检查的场景中非常有用。 +6. **性能考虑**:由于动态方法在运行时创建和调用,可能会有一些性能开销。 +7. **不支持泛型**:动态方法不支持泛型参数。 +8. **调用限制**:不能直接从动态方法内部调用非公共成员,除非动态方法定义在定义了该非公共成员的同一个程序集中。 + +# ICollection接口 + +### 方法: + +- `Add(T item)`: 向集合中添加一个元素。 +- `Clear()`: 从集合中移除所有元素。 +- `Remove(T item)`: 从集合中移除指定的元素。 +- `Contains(T item)`: 确定集合是否包含特定的元素。 +- `CopyTo(T[] array, int arrayIndex)`: 将集合中的元素复制到一个数组中。 + +### 属性: + +- `Count`: 获取集合中元素的数量。 + +# 集合 + +### 1. List + +- **用途**:存储一个按顺序排列的对象集合,可以包含重复元素。 +- **常用操作**:添加(`Add`)、插入(`Insert`)、删除(`Remove`)、查找(`IndexOf`)、遍历(通过索引)。 + +### 2. Dictionary + +- **用途**:存储键值对的集合,其中每个键都是唯一的。 +- **常用操作**:添加或更新(`Add` 或 `[key] = value`)、删除(`Remove`)、通过键获取值(`[key]` 或 `ContainsKey`)。 + +### 3. HashSet + +- **用途**:存储唯一元素的集合,元素无序。 +- **常用操作**:添加(`Add`)、删除(`Remove`)、查找(`Contains`)。 + +### 4. SortedSet + +- **用途**:存储唯一元素的有序集合。 +- **常用操作**:添加(`Add`)、删除(`Remove`)、查找(`Contains`)。 + +### 5. Stack + +- **用途**:后进先出(LIFO)的集合。 +- **常用操作**:推入(`Push`)、弹出(`Pop`)、查看顶部元素(`Peek`)。 + +### 6. Queue + +- **用途**:先进先出(FIFO)的集合。 +- **常用操作**:入队(`Enqueue`)、出队(`Dequeue`)、查看头部元素(`Peek`)。 + +### 7. LinkedList + +- **用途**:双向链表,适合频繁插入和删除的场景。 +- **常用操作**:添加(`AddLast`、`AddFirst`)、删除(`Remove`、`RemoveLast`)、遍历(通过节点)。 + +### 8. Array 和 ArrayList + +- **用途**:数组是固定大小的元素集合,ArrayList 是数组的可扩展版本。 +- **常用操作**:访问(通过索引)、长度获取(`Length` 或 `Count`)、排序(`Sort`)。 + +### 集合的一般操作 + +- **添加**:向集合中添加新元素。 +- **删除**:从集合中移除元素。 +- **查找**:在集合中搜索特定元素。 +- **遍历**:顺序访问集合中的每个元素。 +- **排序**:对集合中的元素进行排序。 + +### 集合的LINQ操作 + +- LINQ(Language Integrated Query)提供了一组扩展方法,可以对集合执行查询和操作,如 `Where`、`Select`、`OrderBy`、`GroupBy` 等。 + +### 集合的线程安全 + +- 对于多线程环境,可以使用 `ConcurrentDictionary`、`ConcurrentBag` 等线程安全的集合。 + +### 集合的不可变性 + +- 不可变集合一旦创建就不能修改,如 `ReadOnlyCollection`,它们提供了线程安全的视图。 + +### 集合的初始化 + +- 可以使用集合初始化器在声明时初始化集合。 + +### 集合的序列和迭代器 + +- 可以使用 `yield return` 创建迭代器,以惰性方式返回集合中的元素。 + +集合是C#编程中不可或缺的一部分,它们提供了强大的工具来处理数据集合,使得数据管理和操作更加高效和直观。 \ No newline at end of file