小代码集合

//树控件。
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标准


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

原文地址:https://www.cnblogs.com/wzg0319/p/1633269.html