zoukankan      html  css  js  c++  java
  • 泛型方法扩展

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Collections;
    using System.Reflection;
    using System.Text.RegularExpressions;

    namespace ConsoleApplication1
    {
        public static class Program
        {
            /// <summary>
            
    /// 入口函数
            
    /// </summary>
            
    /// <param name="args"></param>
            static void Main(string[] args)
            {
                List<string> oldStrList = new List<string>()
                {
                    "12","ZH","CN","2E","0A","56","FF","00"
                };

                Console.Write("Old List:" + oldStrList.Count + " ->");
                foreach (string str in oldStrList) Console.Write(str + " ");

                Console.WriteLine(""); 

                List<string> newHexList = oldStrList.HexFilter(
                    (p) => 
                        {
                            bool blStatus = false;

                            try
                            {
                                Convert.ToInt32(p, 16); blStatus = true;
                            }
                            catch
                            {
                                blStatus = false;
                            }

                            return blStatus; 
                        }
                    ).ToList();

                Console.Write("New List:" + newHexList.Count + " ->");
                foreach (string str in newHexList) Console.Write(str + " ");

                Console.ReadLine();
            }
            /// <summary>
            
    /// 过滤掉非十六进制字符
            
    /// </summary>
            
    /// <typeparam name="T"></typeparam>
            
    /// <param name="source"></param>
            
    /// <param name="predicate"></param>
            
    /// <returns></returns>
            static IEnumerable<T> HexFilter<T>(this IEnumerable<T> source, Func<T, bool> predicate)
            {
                foreach (T item in source)
                {
                    if (predicate(item)) yield return item;
                }
            }
        }
    }
  • 相关阅读:
    Ajax工作原理和原生JS的ajax封装
    HNU 13073 Ternarian Weights 解题报告
    如何在Eclipse中配置python开发环境
    C++中vector 容器的基本操作
    2014年百度实习生面试题及总结
    Python计算一个项目中含有的代码行数
    Linux环境下的GCC编译器与GDB调试工具介绍
    linux环境下Vim的配置
    计算机网络中好的期刊和会议
    hdu 1005解题报告
  • 原文地址:https://www.cnblogs.com/zhangpengshou/p/2773571.html
Copyright © 2011-2022 走看看