zoukankan      html  css  js  c++  java
  • C#小技巧

    1)求全排列,采用递归分析,刚开始忘了 将数组恢复原样结果运行半天都是错误:

    代码
     private void button2_Click(object sender, EventArgs e)
            {
                perm(a, 
    02);
            }
            
    private void perm(int[] list, int i, int n)
            {
                
    int j;

                
    if (i == n)
                {
                    listprint(list);
                }
                
    else
                {
                    
    for (j = i; j <= n; j++)
                    {
                        SWAP(
    ref list[i], ref list[j]);
                        perm(list, i 
    + 1, n);
                        SWAP(
    ref list[i], ref list[j]);//一定要将数组恢复原样
                    }
                }
            }
            
    private void SWAP(ref int a, ref int b)
            {
                
    int c = a;
                a 
    = b;
                b 
    = c;
            }

    2)arraylist添加结构体单元时时,不需要每次都new一个结构体单元

    代码
     public struct pcoordinate
            {
                
    public int pX;
                
    public int pY;
            }
            ArrayList lt 
    = new ArrayList();
            
    private void button1_Click(object sender, EventArgs e)
            {
                pcoordinate pc 
    = new pcoordinate();
                pc.pX 
    = 1;
                pc.pY 
    = 1;
                lt.Add(pc);
               
     //不需要重新new一个pcoordinate,直接修改值添加到arraylist,不会改变原来的值
                pc.pX 
    = 2;
                pc.pY 
    = 2;
                lt.Add(pc);

                pc.pX 
    = 3;
                pc.pY 
    = 3;
                lt.Add(pc);

                
    foreach (pcoordinate p in lt)
                {
                    listBox1.Items.Add(p.pX.ToString() 
    + " " + p.pY.ToString());
                }
            }

    结果:1   1

            2   2

            3   3

    而不是1   1

            1   1

            1   1

  • 相关阅读:
    MySQL 数据类型
    MySQL的相关概念介绍
    遍历Map的四种方法
    Hadoop在win7下部署的问题
    Hbase之shell操作
    问题-"Record not found or changed by another user"
    问题-Delphi编译到最后Linking时总是出现与ntdll.dll有关的错误还有Fatal Error Out of memory错误
    教程-CXGRID之cxDropDownEdit密密
    问题-delphi在某电脑(win7)上是界面超乱 DPL
    教程-Delphi调用C# WEBSERVICE(二)
  • 原文地址:https://www.cnblogs.com/king1302217/p/1641344.html
Copyright © 2011-2022 走看看