none
請問 function 代 object 要怎麼去使用他 RRS feed

  • 問題

  • 我最近在學習C# 把之前的VB.net 改成 C#

    我之前vb 是這樣寫的

        Sub AddItem(ByVal Combobox As Object, ByVal array() As String)
            Dim i As Integer
            For i = 0 To array.Length - 1
                Combobox.Items.Add(array(i))
            Next

        End Sub

    改成C#

            private void AddItem(object Combobox,string[] str1_array)
            {
                Combobox= new ComboBox();
                int i;
                for (i = 0; i < str1_array.Length - 1; i++)
                {
                  
                    Combobox.Items.Add(str1_array[i]);     //請問一下 這一行要怎麼改  .Items會有問題 謝謝
                }
            }

    2013年9月13日 上午 03:49

解答

  • 您好,

    請參考 Convert VB.NET to C#

    把Code貼進去,轉成C#,再加以調整它!

    不過,看起來是轉型問題,因為您的Combobox是object,所以c#不知道它有Items的屬性!

    您可以修改參數的型別,如下,

    public void AddItem(ComboBox Combobox, string[] array)
    {
    	int i = 0;
    	for (i = 0; i <= array.Length - 1; i++)
    	{
    		Combobox.Items.Add(array[i]);
    	}
    }


    或是轉型的方式,如下,

    public void AddItem(object Combobox, string[] array)
    {
    	int i = 0;
    	for (i = 0; i <= array.Length - 1; i++)
    	{
    		 (Combobox as ComboBox).Items.Add(array[i]);
    	}
    }

    請您再調整看看。


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    • 已標示為解答 x32 2013年9月13日 上午 04:56
    2013年9月13日 上午 04:48

所有回覆

  • 1. 你沒有說你是什麼問題。

    2. 你的程式會讓陣列少讀一項,可以改成

     for (i = 0; i < str1_array.Length; i++)
     {
          Combobox.Items.Add(str1_array[i]);     
     }


    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    2013年9月13日 上午 04:01
    版主
  • 您好,

    請參考 Convert VB.NET to C#

    把Code貼進去,轉成C#,再加以調整它!

    不過,看起來是轉型問題,因為您的Combobox是object,所以c#不知道它有Items的屬性!

    您可以修改參數的型別,如下,

    public void AddItem(ComboBox Combobox, string[] array)
    {
    	int i = 0;
    	for (i = 0; i <= array.Length - 1; i++)
    	{
    		Combobox.Items.Add(array[i]);
    	}
    }


    或是轉型的方式,如下,

    public void AddItem(object Combobox, string[] array)
    {
    	int i = 0;
    	for (i = 0; i <= array.Length - 1; i++)
    	{
    		 (Combobox as ComboBox).Items.Add(array[i]);
    	}
    }

    請您再調整看看。


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    • 已標示為解答 x32 2013年9月13日 上午 04:56
    2013年9月13日 上午 04:48