<返主目录 ▕▏ C#基础库 WjwLibs: V5.0.5▕▏帮助文档 : 键值操作类 ▕▏ 编译日期: 2024-09-17▕▏ Email: wujwmail@163.com
命名空间: WjwLibs
所属类: WjwLibs.WjwKvs : Dictionary<string, string>
说明:
字符串关联二维数组类
本库中的csvKV数据结构解释:
csvKV字串是指由键值对项组成的CSV字串,本库中可用该结构来描述字典,对于偏平化结构描述比json,xml串更简单,用于字典的串行化通信和存储
如: str="key1:广州,key2:上海,key3:北京";
或者写为: str="key1=广州,key2=上海,key3=北京";
字段内部的双引号逗号同CSV规范
(csv串处理在WjwIo类中是本库自建高效的解析程序,并不依赖其它的包)
示例:
var str = "key1=广州,key2=' 上海',\"key3=北,京\"";
WjwPhp.print_r(WjwKvs.CsvToKV(str));
//或者: WjwPhp.print_r(new WjwKvs(str));
定义:
public class WjwKvs : Dictionary<string, string>
WjwKvs
▕→ WjwKvs构造器命名空间: WjwLibs 所属类: WjwLibs.WjwKvs : Dictionary<string, string> 说明: WjwKvs构造器 参数: dictionary : 字典或csvKV字串 定义: public WjwKvs(IEnumerable dictionary = null)
IsSetKey
▕→ 测试一个键名是否定义命名空间: WjwLibs 所属类: WjwLibs.WjwKvs : Dictionary<string, string> 说明: 测试一个键名是否定义 参数: key : 键名 返回: 定义: public bool IsSetKey(string key)
To
▕→ 转为字典命名空间: WjwLibs 所属类: WjwLibs.WjwKvs : Dictionary<string, string> 说明: 转为字典 返回: 定义: public Dictionary<string, string> To()
From
▕→ 装入字典命名空间: WjwLibs 所属类: WjwLibs.WjwKvs : Dictionary<string, string> 说明: 装入字典 定义: public void From(Dictionary<string, string> dictionary)
Array_keys
▕→ 输出键列表命名空间: WjwLibs 所属类: WjwLibs.WjwKvs : Dictionary<string, string> 说明: 输出键列表 返回: 定义: public List<string> Array_keys()
Array_values
▕→ 输出值列表命名空间: WjwLibs 所属类: WjwLibs.WjwKvs : Dictionary<string, string> 说明: 输出值列表 返回: 定义: public List<string> Array_values()
Array_combine
▕→ 合并导入为WjwKvs命名空间: WjwLibs 所属类: WjwLibs.WjwKvs : Dictionary<string, string> 说明: 合并导入为WjwKvs 参数: arrk : 键列表 arrv : 值列表 定义: public void Array_combine(List<string> arrk, List<string> arrv)
ToE4x
▕→ 转为e4x命名空间: WjwLibs 所属类: WjwLibs.WjwKvs : Dictionary<string, string> 说明: 转为e4x 参数: rootStr : 根结点缺省root 返回: e4x 定义: public WjwE4x ToE4x(string rootStr="")
SetEmpty
▕→ 清空(="")实例每子项的的值命名空间: WjwLibs 所属类: WjwLibs.WjwKvs : Dictionary<string, string> 说明: 清空(="")实例每子项的的值 定义: public void SetEmpty()
Print
▕→ 打印数据结构命名空间: WjwLibs 所属类: WjwLibs.WjwKvs : Dictionary<string, string> 说明: 打印数据结构 定义: public string Print()
ToString
▕→ 串行化(KVToCsv)命名空间: WjwLibs 所属类: WjwLibs.WjwKvs : Dictionary<string, string> 说明: 串行化(KVToCsv) 返回: 定义: public override string ToString()
ToKV
▕→ 字串键值对处理:命名空间: WjwLibs 所属类: WjwLibs.WjwKvs : Dictionary<string, string> 说明: 字串键值对处理: 将k[:]v格式的字串转为字典(关联数组),其中分隔符为[:=] 参数: kvStr : 任意长度的kv格式参数,可在最后一个参数中指定分隔符 返回: 定义: public static Dictionary<string, string> ToKV(params string[] kvStr)
CsvToKV
▕→ csvKV字串(项分隔为逗号键值分割符[:=])转字典命名空间: WjwLibs 所属类: WjwLibs.WjwKvs : Dictionary<string, string> 说明: csvKV字串(项分隔为逗号键值分割符[:=])转字典 参数: csvKvStr : CSV串:"k[:=]v,k[:=]v,k[:=]v,..." part : 分隔字符 返回: 字典 定义: public static Dictionary<string, string> CsvToKV(string csvKvStr,char part=',')
KVToCsv
▕→ 字典转csvKV字串(项分隔为逗号键值分割符[:=])命名空间: WjwLibs 所属类: WjwLibs.WjwKvs : Dictionary<string, string> 说明: 字典转csvKV字串(项分隔为逗号键值分割符[:=]) 参数: dt : 字典 返回: csvKV字串(项分隔为逗号键值分割符[:=]) 定义: public static string KVToCsv(Dictionary<string,string> dt)
JsonToKV
▕→ json(对象)字串转为字典命名空间: WjwLibs 所属类: WjwLibs.WjwKvs : Dictionary<string, string> 说明: json(对象)字串转为字典 参数: json : json字串 返回: 字典 定义: public static Dictionary<string, string> JsonToKV( string json)
Sort
▕→ 字典排序(原值不变)命名空间: WjwLibs 所属类: WjwLibs.WjwKvs : Dictionary<string, string> 说明: 字典排序(原值不变) 例: WjwPhp.print("(含小数,百分号)值升序:"); var collection = WjwKvs.CsvToKV("k1=123.45%,k2=343.%,k3=8.88%,k4=881.8%,k5=88%"); WjwPhp.print_r(WjwKvs.Sort(collection,"nN")); 参数: kvs : 字典 mod : 排序方式(方式以字母大小写顺序来方便记忆): 缺省: 键升序 Kk: 键降序 Vv: 值降序 vV: 值升序 Nn: 正数字值(含小数,百分号)降序 nN: 正数字值(含小数,百分号)升序 返回: 定义: public static Dictionary<string, string> Sort(Dictionary<string, string> kvs, string mod = "")
Kv2Array2
▕→ 拆分一个字串以指定分隔符为二部分(键值)命名空间: WjwLibs 所属类: WjwLibs.WjwKvs : Dictionary<string, string> 说明: 拆分一个字串以指定分隔符为二部分(键值) 参数: kv : 源字符串 span : 分隔符,缺省为:或= 返回: 数组长度为2的字符数组 定义: public static string[] Kv2Array2(string kv,string span=":=")