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

  • 相关阅读:
    git 教程
    darknet_ros 踩坑与解决办法
    相机与手臂的校准
    相机的内参外参标定
    VNC windous->linux
    12306 官网硬卧下铺的选择
    /usr/bin/ld: cannot find -lopencv_dep_cudart
    在Windows上安装GPU版Tensorflow
    机器学习基础
    [设计模式]行为型设计模式
  • 原文地址:https://www.cnblogs.com/king1302217/p/1641344.html
Copyright © 2011-2022 走看看