• 小代码集合


    //树控件。
    TreeNode node = new TreeNode(function[i].Function1);
                        treeView1.Nodes.Add(node);
                       
    for (int j = 0; j < function.Count; j++)
                        {
                           
    if (function[i].Id == function[j].Uid)
                            {
                                TreeNode nod
    = new TreeNode(function[j].Function1);
                                node.Nodes.Add(nod);
                               
    for (int z = 0; z < function.Count; z++)
                                {
                                   
    if (function[j].Id == function[z].Uid)
                                    {
                                        TreeNode n
    = new TreeNode(function[z].Function1);
                                        nod.Nodes.Add(n);
                                    }
                                }
                            }

    //年月日的正则。
    regex = new Regex(@"(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])");

    // 倒置字符串
    static public string Reverse( string s ) { char[] charArray = s.ToCharArray();
        Array.Reverse( charArray );
       
    return new string( charArray );
    }

     

    找出是否存在某個窗體FORM

     for (int j = 0; j < Application.OpenForms.Count; j++)
                    {
                       
    if (Application.OpenForms[j].Name.Equals("FNO31000"))
                        {
                            fno3100
    = true;
                        }
                    }
    If (fno3100
    = true)
    FNO31000 fno
    = (FNO31000)Application.OpenForms["FNO31000"]

     

    遍歷control

    private void PanelClear(Control c)
            {
               
    foreach (Control cc in c.Controls)
                {
                   
    if (cc.GetType() != typeof(Panel))
                    {
                        PanelClear(cc);
                    }
                   
    else
                    {
                        ((Panel)cc).Visible
    = false;
                    }
                }
            }

    control写了个扩展方法,按回车发送tab键的

    public static class ControlExtensions
        {
           
    public static void SendTabKey(this Control control, Keys key)
            {
               
    if (key == Keys.Enter)
                    SendKeys.Send(
    "{TAB}");
            }
        }

    尽量使用强类型集合(包括泛型集合),而非DataTable

    using(SqlDataReader reader = SqlHelper.ExecuteReader(cmd)) {
      Ilist
    <EmployeeInfo> list = new List<EmployeeInfo>();
     
    while(reader.read()) {
        list.add(
    new EmployeeInfo(
          reader.getInt32(
    0)
         
    // 其它字段
     ));
      }
    }

     DataGriderView 自动排序

    软件开发技术交流中心:
    http://tieba.baidu.com/club/8875975/invite/join/?c=124943206246a9d11532af7a500c022516236f291915
    Asp.net(C#)
      ///  <summary>
        ///DataGriderView 自动排序
        ///  </summary>
        ///  <param name="sender"> </param>
        ///  <param name="e"> </param>
        protected void GVData_Sorting(object sender, GridViewSortEventArgs e)
        {
            try
            {
                // 从事件参数获取排序数据列
                string sortExpression = e.SortExpression.ToString();
                // 假定为排序方向为“顺序”TechWeb-技术社区
                string sortDirection = "ASC";
                // “ASC”与事件参数获取到的排序方向进行比较,进行GridView排序方向参数的修改#p&V4u#o4C
                if (sortExpression == this.GVData.Attributes["SortExpression"])
                    //获得下一次的排序状态
            sortDirection = (this.GVData.Attributes["SortDirection"].ToString() == sortDirection ? "DESC" : "ASC");

                // 重新设定GridView排序数据列及排序方向
                this.GVData.Attributes["SortExpression"] = sortExpression;
                this.GVData.Attributes["SortDirection"] = sortDirection;

            }
            catch (Exception ex)
            {
                MessageBox(ex.Message);
            }
        }
    ///  <summary>
        /// 错误消息提示
        ///  </summary>
        ///  <param name="messageStr"> </param>
        public void MessageBox(string messageStr)
        {
            Response.Write(" <script>alert('" + messageStr + "') </script>");

        }

    获取html源文件中所有a标记, 且分离出其中的href地址以及innerText 内容

      string x =“获取的网站html代码”;
                Regex r = new Regex(" <a.*?href=[\"\']{0,1}(? <h>.*?)(?= |\"|\'|>)(.*?>)(? <inner>.*?) </a>");
                MatchCollection ms = r.Matches(x);
                Console.WriteLine(ms.Count);
                foreach (Match m in ms)
                {
                    Console.WriteLine("all:" + m.Groups[0].Value);
                    Console.WriteLine("href:" + m.Groups["h"].Value);
                    Console.WriteLine("inner:" + m.Groups["inner"].Value);
                    Console.WriteLine();
                }

    条款1:使用属性代替可访问的数据成员
    条款2:运行时常量(readonly)优于编译时常量(const)
    条款3:操作符is或as优于强制转型
    条款4:使用Conditional特性代替#if条件编译
    条款5:总是提供ToString()方法
    条款6:明辨值类型和引用类型的使用场合
    条款7:将值类型尽可能实现为具有常量性和原子性的类型
    条款8:确保0为值类型的有效状态
    条款9:理解几个相等判断之间的关系
    条款10:理解GetHashCode()方法的缺陷
    条款11:优先采用foreach循环语句
    条款12:变量初始化器优于赋值语句
    条款13:使用静态构造器初始化静态类成员
    条款14:利用构造器链
    条款15:利用using和try/finally语句来清理资源
    条款16:尽量减少内存垃圾
    条款17:尽量减少装箱与拆箱
    条款18:实现标准Dispose模式
    条款19:定义并实现接口优于继承类型
    条款20:明辨接口实现和虚方法重写
    条款21:使用委托表达回调
    条款22:使用事件定义外发接口
    条款23:避免返回内部类对象的引用
    条款24:声明式编程优于命令式编程
    条款25:尽可能将类型实现为可序列化的类型
    条款26:使用IComparable和IComparer接口实现排序关系
    条款27:避免ICloneable接口
    条款28:避免强制转换操作符
    条款29:只有当新版基类导致问题时才考虑使用new修饰符
    条款30:尽可能实现CLS兼容的程序集
    条款31:尽可能实现短小简洁的函数
    条款32:尽可能实现小尺寸、高内聚的程序集
    条款33:限制类型的可见性
    条款34:创建大粒度的Web API
    条款35:重写优于事件处理器
    条款36:合理使用.NET运行时诊断
    条款37:使用标准配置机制
    条款38:定制和支持数据绑定
    条款39:使用.NET验证
    条款40:根据需要选用恰当的集合
    条款41:DataSet优于自定义结构
    条款42:利用特性简化反射
    条款43:避免过度使用反射
    条款44:为应用程序创建特定的异常类
    条款45:优先选择强异常安全保证
    条款46:最小化互操作
    条款47:优先选择安全代码
    条款48:掌握相关工具与资源
    条款49:为C# 2.0做准备
    条款50:了解ECMA标准


       本人博客的文章大部分来自网络转载,因为时间的关系,没有写明转载出处和作者。所以在些郑重的说明:文章只限交流,版权归作者。谢谢

  • 相关阅读:
    搜索框用定时器限制发送请求
    vue的生命周期,钩子函数
    事件委托的实现流程
    在vscode中快速生成vue模板
    JS继承
    各种宽高
    ES6新特性
    python入门学习一
    字符编码
    npm install --save 与 npm install --save-dev 的区别
  • 原文地址:https://www.cnblogs.com/wzg0319/p/1633269.html
Copyright © 2020-2023  润新知