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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 黑群晖vmm专业版_教你群晖用自带的VMM虚拟机安装精简版win10系统教程

    黑群晖vmm专业版_教你群晖用自带的VMM虚拟机安装精简版win10系统教程教你群晖用自带的VMM虚拟机安装精简版win10系统教程;V;q”X,~+K6O’ra,a+b新手请严酷依照我的操纵履行,几近每个步调都截图了,100%纯小白教程!2^%P4U:{$IE”?,V7S9p&d0D&s&?安装VMM虚拟机:!N3K&U&h$\+W1、进入群晖系统后,在套件中心,找到…

    2022年9月2日
    3
  • 前端开发技术(vscode怎么下载)

    前言   在前端开发中,有一个非常好用的工具,VisualStudioCode,简称VScode。   都不用我安利VScode,大家就会乖乖的去用,无数个大言不惭的攻城狮,都被VScode比德芙还丝滑的强大功能所折服。   我是来给大家安利插件的,想做个比较全面的插件集合给大家。网上的我也看过一些,但是都比较零散,时间也久了一些,我结合最近的情况,总结一下,造福大家,才是我…

    2022年4月10日
    52
  • 操作引入xml文件的书包(定位到指定节点)「建议收藏」

    操作引入xml文件的书包(定位到指定节点)

    2022年1月24日
    50
  • 深信服SCSA认证过程记录

    深信服SCSA认证过程记录本次主要是记录一下深信服SCSA认证的全过程。由于本人是公司安排培训,所以可能跟自主报名的部分流程不一致。首先是考前测试部分。考前会进行一次简单测试。内容大致如下:1、报名之后会受到链接,需要先确认是否能参加考试,不会立即进入考试界面,确认之后可以自主选时间参加测试。2、测试是在牛客网上进行的,一共100题,需在100分钟内完成作答,答对60%即可过关,还是比较简单的。3…

    2022年6月20日
    45
  • 谈谈阿里云服务器

    谈谈阿里云服务器原文发布于2012年09月29日  一年多之前,也就11年5月份的样子,阿里云云服务器产品线终于上线了。但那时候,国内完全没有能称得上云服务器的,很多小公司就是搞个VPS就叫云服务器了。以至于阿里云云服务器刚出来的时候,很多站长也是这么说的。那会儿我国外的虚拟主机也即将到期,而且国外访问速度确实要差不少。所以当时咬咬牙,狠下心来花了1999元买了一台(即现在的标准A,已经涨价了,呵呵,目前

    2022年10月9日
    0
  • 常见的IT自动化运维工具有哪些?推荐一款好用的?「建议收藏」

    自动化运维是IT运维工作的升华,其不单纯是一个维护过程,更是一个管理的提升过程,是IT运维的最高层次,也是未来的发展趋势。所以作为IT运维人员,一定要知道常见的IT自动化运维工具有哪些?哪款比较好用?常见的IT自动化运维工具有哪些?1、Puppet2、SaltStack3、Ansible4、PSSH5、阿里云OOS6、行云管家【重点推荐】一款好用的自动化运维工具-行云管家!1、自动化运维之预设脚本库脚本是实现自动化运维的基础,运维人员经常通过脚本来替代以往一些需要手工操作的业务,提升工作

    2022年4月14日
    161

发表回复

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

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