none
陣列傳遞 RRS feed

  • 問題

  • 我從外部傳遞一些參數進來使用,但參數個數不一定(sParm)

    但是卻無法在Form1_Load或其他按鈕中取用.

    我想了一個用陣列的方法,也不知道該如何跨區取用陣列??

    請問怎麼寫呢??

     

    1.原程式,該如何取用傳遞進來的參數sParm??

    namespace ReportDocument_ex
    {
            public Form1(params string[] sParm)
            {
                InitializeComponent();
            }

            private void Form1_Load(object sender, EventArgs e)
            {
                        sParm如何去用??

     

     

    2.加入陣列後,該如何去用陣列??
    namespace ReportDocument_ex
    {
        public partial class Form1 : Form
        {

            public static string[] sParmTo;
            public Form1(params string[] sParm)
            {
                InitializeComponent();

                int nP = sParm.GetUpperBound(0);
                if (nP >= 0)
                {
                    string[] sParmTo = new string[nP + 1];
                    for (int i = 0; i <= nP; i++)
                    {
                        sParmTo[ i ] = sParm[ i ];
                    }
                }
            }

            private void Form1_Load(object sender, EventArgs e)
            {
                 sParmTo[]如何取用??    

    2007年8月22日 下午 03:37

解答

  • namespace ReportDocument_ex
    {
        public partial class Form1 : Form
        {

            //public static string[] sParmTo;

              private List<string> sParmTo;
            public Form1(params List<string> sParm)
            {
                InitializeComponent();

           sParmTo=sParm;
            }

            private void Form1_Load(object sender, EventArgs e)
            {

                   string sxx=sParmTo[xx];
            }

     

    2007年8月24日 上午 12:35

所有回覆

  • 請用類別層級變數來存 .

    然後就可以用 this.sParmTo[] 來存取 .

    2007年8月23日 下午 12:45
    版主
  • namespace ReportDocument_ex
    {
        public partial class Form1 : Form
        {

            //public static string[] sParmTo;

              private List<string> sParmTo;
            public Form1(params List<string> sParm)
            {
                InitializeComponent();

           sParmTo=sParm;
            }

            private void Form1_Load(object sender, EventArgs e)
            {

                   string sxx=sParmTo[xx];
            }

     

    2007年8月24日 上午 12:35
  • 好說 您好:

     

    您的這個寫法在public Form1(params List<string> sParm)會有錯誤訊息

    "params參數必須為單一維度的陣列"


     

    2007年8月25日 上午 05:08
  • Sorry 打太快,沒發現,是 public Form1(List<string> sParm)

    才對

    2007年8月25日 下午 12:49