keyvaluepair_c# KeyValuePair用法「建议收藏」

keyvaluepair_c# KeyValuePair用法「建议收藏」privateKeyValuePairSetKeyValuePair(){intintKey=1;stringstrValue=”Myvalue”;KeyValuePairkvp=newKeyValuePair(intKey,strValue);returnkvp;}//////获得键/值对///privatevoidGetKeyValuePairDemo(…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

private KeyValuePair SetKeyValuePair()

{

int intKey = 1;

string strValue = “My value”;

KeyValuePair kvp = new KeyValuePair(intKey, strValue);

return kvp;

}

///

/// 获得键/值对

///

private void GetKeyValuePairDemo()

{

KeyValuePair kvp = SetKeyValuePair();

int intKey = kvp.Key;

string strValue = kvp.Value;

}

如果想使用泛型的话,一般批量读取数据的时候,当只需要读两个字段(Id and Name)时, 如果想不用Model类,并配合泛型使用KeyValuePair,示例:

///绑定一个cmbobox数据项

public void cmbDate{

List> dit = new List>();

if (Helper.GlobalVariables.Gi_Language_Type == 1)

{

dit.Add(new KeyValuePair(1, “身份证”));

dit.Add(new KeyValuePair(2, “军官证”));

dit.Add(new KeyValuePair(3, “护照”));

dit.Add(new KeyValuePair(4, “其他”));

}

else

{

dit.Add(new KeyValuePair(1, “Identity card”));

dit.Add(new KeyValuePair(2, “Officer certificate”));

dit.Add(new KeyValuePair(3, “Passport”));

dit.Add(new KeyValuePair(4, “Other”));

}

this.cmbCertificate_type.DataSource = dit;

this.cmbCertificate_type.DisplayMember = “Value”;

this.cmbCertificate_type.ValueMember = “Key”;

}

///

/// 获取所有企业的Id(enterprise_id)及英文名 (enterprise_name_eng)

///

/// enterprise_info表中的所有企业 Id及英文名

public List> GetEnterpriseIdAndNameEngList()

{

//enterprise_id键和enterprise_name_eng 对

List> lstIdKeyNameEngValue = new List>();

string cmdText = “select enterprise_id, enterprise_name_eng from enterprise_info”;

using (OracleDataReader reader = OracleHelper.ExecuteReader(OracleHelper.OracleConnString, CommandType.Text, cmdText, null))

{

try

{

MyEventLog.Log.Debug (“cmdText= ” + cmdText);

while (reader.Read())

{

KeyValuePair idKeyNameEngValue = new KeyValuePair (

&nbs p;    reader.IsDBNull(0) ? 0 : reader.GetInt64(0),

;    reader.IsDBNull(1) ? string.Empty : reader.GetString(1)

;    );

lstIdKeyNameEngValue.Add (idKeyNameEngValue);

}

OracleHelper.DataReaderClose(reader);

}

catch (OracleException e)

{

MyEventLog.Log.Error (“cmdText= ” + cmdText);

MyEventLog.Log.Error(e);

throw e;

}

}

return lstIdKeyNameEngValue;

}

2、在业务中处理数据

/// 待导入的企业名称(英文)集

/// Excel表中有效的企业Id行集

/// Excel表中无效的企业Id行集

/// 返回有效的行的索引列表

public List PrepareForImport(List lstEnterpriseNameEn, out List lstValidRowsIndex, out List lstInvalidRowsIndex)

{

//有效的企业Id行

lstValidRowsIndex = new List();

//无效的企业Id行

lstInvalidRowsIndex = new List();     //获取所有的企业Id及英文名

List> lstIdKeyNameEngValue = dal.GetEnterpriseIdAndNameEngList();     //用于存放有效的企业的Id,即如果可以在enterprise_info表中找到此企业的英文名,那么表示此企业存在,因此把存在的企业Id获取出来,存放于此变量

List lstValidEnterpriseId = new List();     //通过以下循环可以获得可以有效的企业Id列表

for (int i = 0; i < lstEnterpriseNameEn.Count; i++)

{

foreach (KeyValuePair kvp in lstIdKeyNameEngValue)

{

if (lstEnterpriseNameEn[i] == kvp.Value)

{

//获得有效行索引

lstValidRowsIndex.Add(i);                 //获得有效的企业Id

lstValidEnterpriseId.Add(kvp.Key);                 //找到了有效的ID后马上跳出内循环,回到外循环

continue;

}

}         if (!lstValidRowsIndex.Contains(i) && !lstInvalidRowsIndex.Contains(i))

{

//取得无效行索引

lstInvalidRowsIndex.Add(i);

}

}

return lstValidEnterpriseId;

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158791.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jmeter性能测试方案

    jmeter性能测试方案性能测试方案性能测试概述性能测试是通过自动化的测试工具模拟多种正常 峰值以及异常负载条件来对系统的各项指标进行测试 测试前期准备 1 测试需求 1 1 需要将开发给定的需求 前端页面的智能问答接口性能 转为吞吐量和响应时间 1 2 根据测试目的 细化需求 2 测试准备 测试准备包括测试客户端机器准备 测试数据准备 测试脚本准备 3 测试执行 测试的执行中 需要监控测试客户端和服务器性能 监控服务器端应用情况 1 3 1 客户端的系统资源 cpu io memory 情况 1

    2025年6月6日
    4
  • 安装loadrunner,缺少VC2005_sp1_with_atl的错

    安装loadrunner,缺少VC2005_sp1_with_atl的错

    2021年7月17日
    52
  • 学生成绩管理系统【C语言程序设计】

    一、功能实现:0、浏览学生信息1、输入学生信息2、增加学生信息3、修改学生信息4、删除学生信息5、按学号查询6

    2022年4月9日
    40
  • 视频编解码学习之二:编解码框架

    视频编解码学习之二:编解码框架第四章视频编码基础 1.压缩码流语法:码流中各个元素的位置关系01001001…图像编码类型(01),宏块类型(00),编码系数1001等语义:每个语法元素所表达的意义。例如:图像编码类型 2.

    2022年8月1日
    3
  • idea 2021.8激活码-激活码分享

    (idea 2021.8激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月26日
    59
  • 学习大数据要掌握哪些语言?哪些必备知识和技能呢?

    学习大数据要掌握哪些语言?哪些必备知识和技能呢?大数据是近五年兴起的行业,发展迅速,很多技术经过这些年的迭代也变得比较成熟了,同时新的东西也不断涌现,想要保持自己竞争力的唯一办法就是不断学习。但是,大数据需要学习什么?01思维导图下面的是我之前整理的一张思维导图,内容分成几大块,包括了分布式计算与查询,分布式调度与管理,持久化存储,大数据常用的编程语言等等内容,每个大类下有很多的开源工具。  02大数据需要的语言Ja…

    2022年5月6日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号