zoukankan      html  css  js  c++  java
  • IEnumberable<String> To String

    如何根据关键字在List<T>中查询出来相应的结果?

    Code:

    • Create List<T>

            public class A {
                public string a { get; set; }
                public string b { get; set; }
            }

            List<A> aList = new List<A> {
                new A{ a="6", b="AAA"},
                new A{ a="2", b="BBB"}
            };

    • Search List<T>

          //这样是有问题的,无法隐式从IEnumerable<String>转换String

          String c = aList.Where ( o => o.a.Equals ( "6" ) )
                         .Select(o=>o.b);

    image

       //这样是没有问题的,但是返回值不对,是当前类型名

         String c = aList.Where ( o => o.a.Equals ( "6" ) )
                          .Select(o=>o.b).ToString();

    • 那如何解决?

        使用FirstOrDefault()

        String c = aList.Where ( o => o.a.Equals ( "6" ) )
                                .FirstOrDefault ().b;

         OK了,但是好像有点问题,什么问题呢?

         如果这个集合没有我查询的值,肯定会报错的。

          String c = aList.Where ( o => o.a.Equals ( "1" ) )
                                .FirstOrDefault ().b;

    image

    • 那又如何解决呢?

            有两种方案 

    • 编写自定义方法

      String d = Get ( aList , "1" );

            private string Get (List<A> aList , String whereStr) {
               var es = aList.Where ( o => o.a.Equals ( whereStr ) ).FirstOrDefault ();
               if ( es != null ) {
                   return es.b;
               }
               else {
                   return String.Empty;
               }
           }

    或者

            Func<List<A> , String , String> Get = (list , str) => {
                var es = list.Where ( o => o.a.Equals ( str ) ).FirstOrDefault ();
                if ( es != null ) {
                    return es.b;
                }
                else {
                    return String.Empty;
                }
            };

           String ee = Get ( aList , "1" ); 

    • 编写扩展方法

                自行发挥!

  • 相关阅读:
    Oracle Vm VirtualBox 搭建 yum 环境
    Vmware Workstation _linux yum 仓库搭建
    redhat5 设置静态ip
    管理表空间和数据文件
    表空间详解
    ocp linux 基础要点
    事务
    Hash哈希类型
    SortedSet有序集合类型
    set集合类型
  • 原文地址:https://www.cnblogs.com/RuiLei/p/1691791.html
Copyright © 2011-2022 走看看