c# – 如何在数据表中以区分大小写的方式显示

我在xml中的数据表中放入一些值,我有重复的值,也有一些区分大小写的值

ex: Cat,Elephant,Took,Program,Some,PROGRAM,Cat,Dog

所以我使用的是一个条件

if (!(FindRow.Rows.Contains(val)))
{
   FindRow.Rows.Add(val);
}

我希望我的数据表同时具有Program和PROGRAM,并且不应该有两个cat值,但它只占用一个程序

解决方法

我至少可以看到两种方法:

>准备HashSet< string>每次将项添加到DataTable中时,将相同字符串的小写版本添加到集合中.然后每次要添加新行检查表的set insteaf.

var set = new HashSet<string>();

if (!(set.Contains(val.ToLower())))
{
   FindRow.Rows.Add(val);
   set.Add(val.ToLower());
}

>您可以使用LINQ执行更复杂的查询:

if (!(FindRow.Rows.AsEnumerable().Any(r => r.Field<string>("YourKeyColumnName").ToLower() == val.ToLower())))
{
   FindRow.Rows.Add(val);
}

您需要引用System.Data.DataSetExtensions.dll汇编并在文件顶部使用System.Data.DataSetExtensions使其工作.

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

相关推荐


ASP.NET 提供一个功能完整的缓存引擎,页面可使用该引擎通过 HTTP 请求存储和检索任意对象.缓存的生存期与应用程序的生存期相同,也就是说,当应用程序重新启动时,将重新创建缓存。 将数据添加到缓存中 1。通过指定其键和值将项添加到缓存中 Cache[&quot;txt&quot;] = &qu
问题描述 Xamarin使用IsGroupingEnabled=&quot;true&quot;之后再Cell操作就会出现数据展示bug,数据不刷新的问题,如下图所示: 点击取消的是其他钢厂,但ViewCell展示的一直是“长峰”,这就分组试图一个比较常见的bug。 解决方案 在Tapped事件移除
一、设备类是Xamarin重要开发组成部分,下面介绍一下设备类的主要用法: 更多Device相关信息请访问:https://developer.xamarin.com/guides/xamarin-forms/platform-features/device/ 二、第三方弹窗,模态窗口 先看效果图:
大家都知道,一个英文=1字节,一个汉字2字节,而一个emoji表情=4个字节,在有这三种混用的时候,比如app聊天界面,那么删除和截取便成了很头痛的事情。 问题描述 截取导致乱码,如下图: 解决方案 使用C#里面的Substring进行截取一个长度,截取完成之后判断截取的是否为乱码,如果是乱码,在进
概念:CORS是一个W3C标准,全称是&quot;跨域资源共享&quot;(Cross-origin resource sharing)。它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。 现象:如请求出现:Response to prefligh
1.Xamarin调用WebView: 原理:Xamarin.Forms WebView内置方法xx.Eval(..)可以调用到页面里面的js函数。 WebView展示的代码如下: 调用核心代码: 效果如下: 2.WebView调用Xamarin: 原理:WebView通过Navigating改变事
实现思路 1.标识控制器有拦截特性; 2.控制器拦截处理; 代码实现 1.标识控制器有拦截特性,代码: 2.控制器拦截处理,代码:
一、聚合函数查询 二、删除操作 三、执行事物(Net4.0以上版本支持) 需要添加引用:using System.Transactions;
本类适用于比较2个字符的相似度,代码如下: using System; using System.Collections.Generic; using System.Text; public class StringCompute { #region 私有变量 /// &lt;summary&gt;
思路:使用随机向量,把随机向量放入密文中,每次解密时从密文中截取前16位,其实就是我们之前加密的随机向量。 代码 调用:
题目: C#实现代码如下: using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; using Microsoft.VisualStudio.TestTools.
扯淡 随着app应用的崛起,后端服务开发的也越来越多,除了很多优秀的nodejs框架之外,微软当然也会在这个方面提供更便捷的开发方式。这是微软一贯的作风,如果从开发的便捷性来说的话微软是当之无愧的老大哥,只是鱼和熊掌不能兼得,各种语法糖带来开发的便利势必会牺牲程序运行的性能,这是无可避免的,通用和效
前言 Asp.net/C#操作Excel已经是老生长谈的事情了,可下面我说的这个NPOI操作Excel,应该是最好的方案了,没有之一,使用NPOI能够帮助开发者在没有安装微软Office的情况下读写Office 97-2003的文件,支持的文件格式包括xls, doc, ppt等。NPOI是构建在P
续《是时候开始用C#快速开发移动应用了》刷屏之后,把C#开发移动应用的技术 =&gt; Xamarin,在这里和大家做一个分享! 语音合成:也被称为文本转换技术(TTS),它是将计算机自己产生的、或外部输入的文字信息转变为可以听得懂的、流利的口语输出的技术。 技术选型:语音合成初步选择有两个,一是讯
目录 一、什么是Windows 服务? 二、创建Windows 服务与安装/卸载批处理。 三、调试Windows 服务。 正文 一、什么是Windows 服务? 答:Microsoft Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行
高拍仪拍照SDK开发下载地址:点击下载 本SDK适用于:良田影像S300L|S500L 高拍仪如图: SDN开发包安装之后找到安装目录,如图: 大家找到各自需要的版本即可,需要注意的是如果需要上传图片到服务器的话,我已经写好了C#版的接收程序,代码如下: JavaScript调用上传服务器代码: 百
1 在Visual Studio 中创建一个Asp.NET WebApi 项目,项目名:Com.App.SysApi(本例创建的是 .net 4.5 框架程序) 2 打开Nuget 包管理软件,查找 swagger 安装Swashbuckle 组件 3 开启项目的XML注释位置(选中项目Com.Ap
using ImpromptuInterface; using System; using System.Dynamic; namespace ConsoleApp2 { class Program { static void Main(string[] args) { dynamic expand
https://blog.csdn.net/michaelgong/article/details/43148597
C#11添加了文件作用域类型功能:一个新的file修饰符,可以应用于任何类型定义以限制其只能在当前文件中使用。 这样,我们可以在一个项目中拥有多个同名的类。 通过下面的项目显示,该项目包含两个名为Answer的类。 文件File1.cs中 namespace ConsoleApp11 { file