判断数组是否包含元素

从SQL模糊匹配搜索数据库几个不同表获得所有包含搜索字符串的字符用于下一步确定具体搜索内容,如:输入“银行”则列出所有包含有“银行”的字符串用于确定下一步精确查找哪类银行
MessageBox.Show(new string[] { "提前", "推迟", "间隔" }.LongCount(悟空 => 悟空 == "推迟").ToString());

MessageBox.Show((new string[] { "提前", "推迟", "间隔" }.LongCount(悟空 => 悟空 == "推") == 0) ? "不存在" : "存在");

var aa = (new string[] { "提前", "推迟", "间隔" }.LastOrDefault(num => num == "推") == null) ? "不存在" : "存在";
MessageBox.Show(aa);
List<string> str = new List<string> { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13" };
List<string> temp = new List<string> { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" };
var a = str.Intersect(temp); /*得到相同元素*/string[] result = str.Except(temp).ToArray();/*获得不同元素*/
不定长数组:
List<List<int>> aaa = new List<List<int>>(); aaa.Add(new List<int> { 1, 2, 3, 4 });
aaa.Add(new List<int> { 1, 2, 3, 4, 5, 6 });
List<List<int>> aaa = new List<List<int>>(); List<int> bbb = new List<int>(), ccc = new List<int>();
            bbb.Add(1); bbb.Add(1); bbb.Add(1); aaa.Add(bbb);
            ccc.Add(1); ccc.Add(1); ccc.Add(1); ccc.Add(1); ccc.Add(1); ccc.Add(1); aaa.Add(ccc);
int[][][] 论 = new int[][][] 
                {
                    new int[][] { new int[]{ 2, 7, 12 }, new int[] { 6, 12 }, new int[] { 1, 6, 9 }, new int[] { 2, 5, 12 }, new int[] { 6, 12 }, new int[] { 1, 4, 10 }, new int[] { 2, 6, 12 }, new int[] { 5, 8, 9 }, new int[] { 2, 6, 9 }, new int[] { 5, 8, 11 }}
                };
int[] numbers = { 1,2,3 };
var numsInPlace = numbers.SelectMany((aa, bb) => numbers.Where((cc, dd) => bb != dd && dd > bb).Select(ee => aa * 10 + ee));
Console.WriteLine(string.Join(" ", numsInPlace));
int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2 };
            var numsInPlace = numbers.SelectMany((aa, bb) => numbers.Where((cc,dd)=>bb!=dd).Select((num, index) => new int[] { num, aa }));
            foreach (var rr in numsInPlace)
                Console.WriteLine(string.Join(",", rr));
var aa = "123456789".ToCharArray().Select(b => int.Parse(b.ToString()));
Console.WriteLine(string.Join(" ", Enumerable.Range(0, 21).Select(a => (a << 2) - 1)));
int[,] ar = new int[2, 3];
            int[] t = new int[ar.GetLength(1)];
            for (int a = 0; a != ar.GetLength(1); a++) t[a] = (int)ar.GetValue(1, a);/*t[a] = ar[1, a]; */
            var aa = Enumerable.Range(1, 12).Select(aaa => aaa <<= 3).ToArray();
            Console.WriteLine(string.Join("\n", aa));
            string[] digits = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
            var shortDigits = digits.Where((dd, aa) => dd.Length < aa);
            Console.WriteLine(string.Join(" ", shortDigits));
            int[] arr = { 1, 2, 3, 4, 5, 6 };
            int[][] query = arr.SelectMany(x => arr.Select(y => new int[] { x, y })).ToArray();
            int[][] query1 = arr.SelectMany(x => arr.Where(y => y > x).Select(y => new int[] { x, y })).ToArray();
            int[] numbers = { 1, 2, 3 };
            var numsInPlace = numbers.SelectMany((aa, bb) => numbers.Where((cc, dd) => bb != dd && dd > bb).Select(ee => aa * 10 + ee));
            Console.WriteLine(string.Join(" ", numsInPlace));
/*从模糊匹配搜索数据库几个不同表获得所有包含搜索字符串的字符用于下一步确定具体搜索内容,如:输入“银行”则列出所有包含有“银行”的字符串用于确定下一步精确查找哪类银行*/
List<string> 搜索到 = new List<string>();
foreach (string 元素 in 类型集)
{
    foreach (DataRow 数据列 in 缓存数据表.Tables[元素 + "搜索列表"].Rows)
    {
        搜索到.AddRange(数据列.ItemArray.Where(筛选 => 筛选.ToString().Contains(搜索内容.Replace("%", ""))).Select(投影 => 投影.ToString().Split(new char[2] { '□', '★' })[0]).ToArray());
    }
}
搜索到 = 搜索到.Distinct().ToList();
显示搜索列表.DataSource = (from 搜索到内容 in 搜索到 select new { 搜索到内容 }).ToList();
string[] num = 读取条件设定.Tables["五行农历显示"].AsEnumerable().Select(d => d.Field<string>("日期")).ToArray();/*表中某列转数组*/
int[] list = Enumerable.Repeat(99,24).ToArray();
string aa = ""; foreach (var a in Enumerable.Range(1, 10)) aa += a.ToString() + "\r"; MessageBox.Show(aa);
int[] 时标 = Enumerable.Range(0, 13).Select(值 => 值 *= 2).Select(值 => 值 - 1).ToArray();
foreach (DataRow 行数据 in 读取设定条件.Tables["五行农历显示"].Select("日期 like '%" + 转换含日 + "%' OR 日期 like  '%.%'"))/*通过筛选减少循环次数,不过筛选也要花费一定时间的,仅凭感觉速度差不多,没实际检测执行时间和效率,只是有这样的办法作录.*/

自己写的回复和引用别人的写法,留待用时参考,容易找到,其实很多时候之前已经有些过了,又重写了,又有很多时候都是大同小异的!

            int[] 源 = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }, 据 = { 2, 2, 3, 3, 4, 5, 5, 5, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 10, 10 };
            List<int[,]> 果 = new List<int[,]>();
            int 计 = 源.Length - 1;
            do
            {/*对比两个数组,如何得出s2中包含s1的数以及在s2中出现的个数,放入到二维数组s3中。*/
                int 结 = 据.Count(a => a == 源[计]);
                if (结 > 0)
                    果.Add(new int[,] { { 源[计], 结 } });
            } while (--计 > 0);
            /*引用别人的写法*/
            var s3 = 源.ToList().Intersect(据.ToList()).Select(p => "(" + p + "," + 据.ToList().Count(q => q == p) + ")").ToArray();
            var s4 = 据.Where(s => 源.Contains(s)).GroupBy(s => s).ToDictionary<IGrouping<int, int>, string>(g => g.Key + "," + g.Count().ToString());
            var s5 = from p in 据 where 源.Contains(p) group p by p into g select new { g.Key, CountNum = g.Count() };
/*同位置字符相似*/
            int aa = "9898,8908".Split(',')[0].ToCharArray().Zip("9898,8908".Split(',')[1].ToCharArray(), (bb, cc) => bb == cc).Count(dd => dd == true);
            var aa = "9898,8908".Split(',');/*字符所有相似计算*/
            var bb = aa[0].Select(cc => aa[1].Contains(cc.ToString())).Count(ee => ee == true);
            var dd = aa[1].Select(cc => aa[0].Contains(cc.ToString())).Count(ee => ee == true);
            var ff = aa[1].Where(gg => aa[0].Contains(gg)).Count();
            var hh = aa[0].Where(gg => aa[1].Contains(gg)).Count();


        /*有如下输入:若干个由大写英文字母构成的单词,以’,’号隔开。如“ABCCD,CDA,BCDD,DCA,ADC,BCD,CDCAB”。 写一段程序,从输入中寻找由相同字符构成(重复字符出现次数也是一样)的单词组输出。
            如以上输入,则输出: 第1组:ABCCD,CDCAB 第2组:CDA,DCA,ADC*/
        string[] 数据组 = "ABCCD,CDA,BCDD,DCA,ADC,BCD,CDCAB".Split (',');
        string[] 排序组 = 数据组.Select(bb => bb.OrderBy(cc => cc)).Select(dd => string.Join("", dd)).ToArray();
        string[] 去重组 = 排序组.Distinct().ToArray();/*设计坚持从易开始,乐趣就在分析-构思-设计-调试的过程中......*/
        IEnumerable<IEnumerable<bool>> 逻辑组 = 去重组.Select(ee => 排序组.Select(ff => ff == ee)).Where(gg => gg.Count(hh => hh == true) > 1);
        foreach (IEnumerable<bool> 逻辑 in 逻辑组)
        {
            int 序 = 0;
            foreach (bool 值 in 逻辑)
            {
                if (值) Console.WriteLine(数据组[序]);
                序++;
            }
            Console.WriteLine();
        }/*最后是否进行语句重组看心情和不知道什么理由的需要了,哈哈......*/














  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值