• List的FindIndex和ForEach


    FindIndex和ForEach能接受一个delegate,用来定义查找规则太好用。

    匿名函数,萌萌哒;Conditional("DEBUG")也是极好的。

    读《C#本质论》

    using System;
    using System.Collections.Generic;
    using System.Windows.Forms;
    using System.Diagnostics;
    
    namespace WindowsFormsApplication1
    {
        static class Program
        {
    
            class CADFileItem
            {
                public string GUID;
                public string Name;
                public string ModelClass;
                public string ModelType;
                public CADFileItem()
                {
                    this.GUID = "0000-0000-0000-0000";
                    this.Name = "NoName";
                    this.ModelClass = "Aseembly";
                    this.ModelType = "FamilyMain";
                }
                [Conditional("DEBUG")]
                public void WriteLine()
                {
                    Debug.WriteLine(string.Format(@"GUID: {0}
    Name: {1}
    ModelClass: {2}
    ModelType: {3}", GUID, Name, ModelClass, ModelType));
                }
            }
            class FindCADFile
            {
                string findValue;
                public FindCADFile(string val)
                {
                    findValue = val;
                }
    
                public bool FindGUID(CADFileItem file)
                {
                    return file.GUID == findValue;
                }
    
                public bool FindName(CADFileItem file)
                {
                    return file.Name == findValue;
                }
    
                public bool FindModelClass(CADFileItem file)
                {
                    return file.ModelClass == findValue;
                }
            }
    
            /// <summary>
            /// The main entry point for the application.
            /// </summary>
            [STAThread]
            static void Main()
            {
    
                List<CADFileItem> files = new List<CADFileItem>();
                int intCount = 5;
                for (int u = 0; u < intCount; ++u)
                {
                    CADFileItem file = new CADFileItem();
                    file.GUID = file.GUID.Replace("-0000", "-000" + u);
                    file.Name = "CADFile" + u;
                    if(u==0 || u==intCount-1)
                        file.ModelClass = "Part";
                    else
                        file.ModelClass = "Assembly";
                    file.WriteLine();
                    files.Add(file);
                }
    
    
                int ret = files.FindIndex(new FindCADFile("0000-0002-0002-0002").FindGUID);
                if (ret != -1)
                {
                    Debug.WriteLine("FindGUID--------");
                    files[ret].WriteLine();
                } 
                ret = files.FindIndex(new FindCADFile("CADFile3").FindName);
                if (ret != -1)
                {
                    Debug.WriteLine("FindName--------");
                    files[ret].WriteLine();
                }
                ret = files.FindIndex(new FindCADFile("Part").FindModelClass);
                if (ret != -1)
                {
                    Debug.WriteLine("FindModelClass--------");
                    files[ret].WriteLine();
                }
                
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
            }
        }
    }
    View Code

    更多:http://msdn.microsoft.com/zh-cn/library/x1xzf2ca(v=vs.110).aspx

  • 相关阅读:
    线程,委托和同步的技术理顺
    .Net RabbitMQ 初探
    Java学习,使用IDEA中碰见的问题(一)
    log4net 小记
    MVC 根据模板动态生成静态页面
    IIS 的负载均衡【IIS7.0以上才可以使用】---- Application Request Routing(ARR)
    asp.net forms 表单验证 实现跨域共享cookie(即SSO,单点登录(在二级域名下))
    SQL Server 的文件组和文件
    Base64 编码原理
    swfupload 大文件 批量上传
  • 原文地址:https://www.cnblogs.com/mumuliang/p/3914782.html
Copyright © 2020-2023  润新知