通过NameValuePairsValueProvider对象来获取指定前缀的Key
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http.ValueProviders.Providers; namespace ConsoleApp
{
internal class Program
{
private static void Main(string[] args)
{
var dic = new Dictionary<string, string>
{
{"contact.Name", "张三"},
{"contact.PhoneNo", ""},
{"contact.EmailAddress", "zhangsan@gmail.com"},
{"contact.Address.Province", "上海"},
{"contact.Address.City", "上海"},
{"contact.Address.District", "长宁区"},
{"contact.Address.Street", "金钟路968号"}
};
var valueProvider = new NameValuePairsValueProvider(dic.ToArray(), null); // prefix=""
Console.WriteLine("Prefix: <Empty>");
Console.WriteLine("{0,-14}{1}", "key", "value");
var keys = valueProvider.GetKeysFromPrefix(string.Empty);
foreach (var item in keys)
{
Console.WriteLine("{0,-14}{1}", item.Key, item.Value);
} // Prefix="contact"
Console.WriteLine("Prefix: contact");
Console.WriteLine("{0,-14}{1}", "key", "value");
keys = valueProvider.GetKeysFromPrefix("contact");
foreach (var item in keys)
{
Console.WriteLine("{0,-14}{1}", item.Key, item.Value);
} // Prefix="contact"
Console.WriteLine("Prefix: contact.Address");
Console.WriteLine("{0,-14}{1}", "key", "value");
keys = valueProvider.GetKeysFromPrefix("contact.Address");
foreach (var item in keys)
{
Console.WriteLine("{0,-14}{1}", item.Key, item.Value);
} Console.Read();
}
}
}
通过NameValuePairsValueProvider对象来获取指定前缀的Key的更多相关文章
- redis key全量导出与导出指定前缀的key
redis命令列表中有两种方法可以全量导出所有的key: (1)keys 由于redis是单线程的,使用keys会导致redis服务阻塞,不建议线上服务采用这种方式. (2)scan 命令,下面是使用 ...
- php redis 获取指定前缀的所有key
php redis 获取指定前缀的所有key 以laravel框架为例: $key = $this->redis->keys('db:shipping:shippingId:' . &qu ...
- servlet操作本地文件汇总: 判断文件是否存在;文件重命名;文件复制; 获取文件属性信息,转成Json对象; 获取指定类型的文件; 查找替换.txt中的文本
package servlet; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; ...
- laravel redis 删除指定前缀的 key
// 前缀 $prefix = 'abc'; // 需要在前面连接上应用的缓存前缀 $keys = app('redis')->keys(config('cache.prefix') . $pr ...
- redis删除指定前缀的缓存
redis作为缓存服务器为MySQL数据库提供较高的防御性,对于一些数据的查询可以直接从缓存中可以进行查询. 但是,某些情况下,我们需要清除缓存. 以下场景: 公司经常做活动,每个活动都存在大量的数据 ...
- Redis删除相同前缀的key
如何优雅地删除Redis set集合中前缀相同的key? Redis中有删除单条数据的命令DEL,却没有批量删除特定前缀key的指令,但我们经常遇到需要根据前缀来删除的业务场景 ...
- 如何通过源生js获取一个元素的具体样式值 /* getCss:获取指定元素的具体样式的属性值 curElement:[dom对象] attr:[string] */
昨天的博客些的真的是惨不忍睹啊!!!但是我的人生宗旨就是将不要脸的精神进行到底,所以,今天我又来了.哈哈哈哈哈! 方法一:元素.style.属性名:(这个有局限性--只能获取行内样式的值,对于样式表或 ...
- 使用反射类、Class类获取指定的构造器并实例化对象
package com.test; public class Car { private String brand; private String color; private int maxSpee ...
- 【js操作url参数】获取指定url参数值、取指定url参数并转为json对象
获取指定url参数值 /* 获取某url中的某参数值 调用:GetUrlQueryString("[url地址]","[参数名]"); */ function ...
随机推荐
- [原创]Android从xml加载到View对象过程解析
我们从Activity的setContentView()入手,开始源码解析, //Activity.setContentView public void setContentView(int layo ...
- [leetcode]Binary Tree Right Side View
好久不写了,最近忙毕业论文呢. 这个题,就是说一个二叉树,你从右边看,你能看到的数有哪些(会被遮挡) 其实抽象出来就是说...二叉树每层最右边的数有哪些.. 那我们按层遍历一次就好了. /** * D ...
- “远程调试监视器(MSVSMON.EXE)似乎没有在远程计算机上运行“的完美解决方案
今天调试程序时,Visual Studio突然报出了如下错误: Microsoft Visual Studio 远程调试监视器(MSVSMON.EXE)似乎没有在远程计算机上运行.这可能是因为防火墙阻 ...
- 为什么要提倡“Design Pattern呢
为什么要提倡“Design Pattern呢?根本原因是为了代码复用,增加可维护性. 那么怎么才能实现代码复用呢?面向对象有几个原则:开闭原则(Open Closed Principle,OCP).里 ...
- Privacy Policy
MINE Privacy Policy This unit values your privacy. You are using our service, we may collect and use ...
- right-click an action, missing "Go to slot"
According to the tutorial,to connect the actions to slots, right-click an action and select Go to sl ...
- windbg加载sos.dll
SOS.dll 中提供的 Son of Strike 扩展 (SOS),用于调试 WinDbg 中的托管代码.在启动了调试程序并将其附加到托管进程(或加载故障转储) .load C:\Windows\ ...
- MyBatis知多少(3)
解决存储过程固有限制的方法之一就是将SQL嵌入到更加通用的语言中去.与存储过程将业务逻辑移入数据库相反,内联SQL将SQL从数据库移入了应用程序代码.这就使得SQL语句可以直接与语言进行交互.从某种意 ...
- 疯狂的ASP.NET系列-第一篇:啥是ASP.NET后续
之前总结到了ASP.NET的七大特点,只总结了2大特点,现继续总结后面的5大特点. (3)ASP.NET支持多语言 这里说的多语言就是多种开发语言,如C#,VB.NET,无论你采用哪种开发语言,最终的 ...
- 二项堆(一)之 图文解析 和 C语言的实现
概要 本章介绍二项堆,它和之前所讲的堆(二叉堆.左倾堆.斜堆)一样,也是用于实现优先队列的.和以往一样,本文会先对二项堆的理论知识进行简单介绍,然后给出C语言的实现.后续再分别给出C++和Java版本 ...