1.首先創見Core控制台應用程式 並且引入 AspNetCore.All 首先我們寫入配置信息:直接代碼如下 接下來是讀取 我們上面寫入的配置信息 //GetSection 讀取對象類型的配置信息 Bind 綁定信息 var user = new User(); Console.WriteLine ...
1.首先創見Core控制台應用程式 並且引入 AspNetCore.All
首先我們寫入配置信息:直接代碼如下
//配置信息的根對象 public static IConfigurationRoot Configuration { get; set; } //以鍵值對的形式拼裝將要填添加在JSon配置文件的配置信息 var dic = new Dictionary<string, string> { {"Class", "配置信息"}, {"Infor", "User"}, {"User:0:Name", "xiaoming"}, {"User:0:Age", "20"}, {"User:1:Name", "xiao"}, {"User:1:Age", "22"} }; //創建配置信息讀寫的對象 基類 IConfigurationBuilder 用於創建配置信息的類 var builder = new ConfigurationBuilder(); //AddInMemoryCollection 配置的信息添加到 IConfigurationBuilder中 為其創建配置提供信息 builder.AddInMemoryCollection(dic); //讀寫配置信息 以鍵值對的形式創建 Configuration = builder.Build();
接下來是讀取 我們上面寫入的配置信息
//GetSection 讀取對象類型的配置信息 Bind 綁定信息 var user = new User(); Console.WriteLine("獲取單個對象的配置信息"); Configuration.GetSection("User:0").Bind(user); Console.WriteLine($"年齡:{user.Age} 名字:{user.Name}"); Console.WriteLine("獲取對象集合的配置信息"); var userList = new List<User>(); Configuration.GetSection("User").Bind(userList); foreach (var item in userList) { Console.WriteLine($"年齡:{item.Age} 名字:{item.Name}"); } Console.WriteLine("獲取單個Key的Values"); //不是對象的配置信息不能用對象來讀取 Console.WriteLine(Configuration["Infor"]); //取值並轉換 var Age = Configuration.GetValue<int>("User:0:Age"); //取值並轉換 var Age0 = Configuration.GetValue("User:0:Age",0);View Code
User類
internal class User { public User() { } public string Name { get; set; } public string Age { get; set; } }View Code
以下是完整的代碼
using Microsoft.Extensions.Configuration; using System; using System.Collections.Generic; namespace 寫入配置信息 { class Program { //配置信息的根對象 public static IConfigurationRoot Configuration { get; set; } static void Main(string[] args) { //首先引入Nuget包 AspNetCore.All //以鍵值對的形式拼裝將要填添加在JSon配置文件的配置信息 var dic = new Dictionary<string, string> { {"Class", "配置信息"}, {"Infor", "User"}, {"User:0:Name", "xiaoming"}, {"User:0:Age", "20"}, {"User:1:Name", "xiao"}, {"User:1:Age", "22"} }; //創建配置信息讀寫的對象 基類 IConfigurationBuilder 用於創建配置信息的類 var builder = new ConfigurationBuilder(); //AddInMemoryCollection 配置的信息添加到 IConfigurationBuilder中 為其創建配置提供信息 builder.AddInMemoryCollection(dic); //讀寫配置信息 以鍵值對的形式創建 Configuration = builder.Build(); //GetSection 讀取對象類型的配置信息 Bind 綁定信息 var user = new User(); Console.WriteLine("獲取單個對象的配置信息"); Configuration.GetSection("User:0").Bind(user); Console.WriteLine($"年齡:{user.Age} 名字:{user.Name}"); Console.WriteLine("獲取對象集合的配置信息"); var userList = new List<User>(); Configuration.GetSection("User").Bind(userList); foreach (var item in userList) { Console.WriteLine($"年齡:{item.Age} 名字:{item.Name}"); } Console.WriteLine("獲取單個Key的Values"); //不是對象的配置信息不能用對象來讀取 Console.WriteLine(Configuration["Infor"]); //取值並轉換 var Age = Configuration.GetValue<int>("User:0:Age"); //取值並轉換 var Age0 = Configuration.GetValue("User:0:Age",0); Console.WriteLine($"Age {Age}"); Console.WriteLine($"Age0 {Age0}"); Console.ReadKey(); } } internal class User { public User() { } public string Name { get; set; } public string Age { get; set; } } }View Code
有不足之處希望大家指出,如果對您有幫助的話幫助推薦 謝謝!
下一章自定義配置信息 EF鏈接資料庫