当前位置:编程学习 > C#/ASP.NET >>

string[]作为函数参数,调用时怎么传参

SMTP对象的构造方法public SMTP(string[] mailTo, string mailSubject, string mailBody)

第一个参数怎么传进去啊。 

我这样string [] strs= new string[]{"aa"};
然后调用初始化一个对象 SMTP a = new SMTP(strs,"1","2");报错说
只有 assignment、call、increment、decrement、await 和 new 对象表达式可用作语句
啥原因啊。

string[]这样的参数在传递时是用什么格式,直接在调用时传。
难道是SMTP a =new SMTP({"1","2"},"1","2")这样的形式么。
很困惑 希望各位能解答一下 谢谢了 --------------------编程问答--------------------

 public  class Program
    {
        static void Main(string[] args)
        {
            string[] strs=new string[]{"aa","bb"};
            SMTP s = new SMTP(strs, "1", "2");
            s.print();
        }
    }
  class SMTP {
      string[] name;
      String name1;
      string name2;
      public SMTP(string[] name,string name1,string name2) {
          this.name = name;
          this.name1 = name1;
          this.name2 = name2;
      }
     public void print() {
          for (int i = 0; i < name.Length; i++)
          {
              Console.WriteLine(name[i]);
          }
      }
  
你再试试! --------------------编程问答-------------------- 好吧 还是不行。构造方法应该没问题。
public class SMTP
    {
        #region Fields

        private string mMailFrom;
        private string mMailDisplyName;
        private string[] mMailTo;
        private string[] mMailCc;
        private string[] mMailBcc;
        private string mMailSubject;
        private string mMailBody;
        private string[] mMailAttachments;
        private string mSMTPServer;    //smtp服务器名。如smtp.qq.com
        private int mSMTPPort;        //如25.
        private string mSMTPUsername;
        private string mSMTPPassword;
        private bool mSMTPSSL;
        private MailPriority mPriority = MailPriority.Normal;
        private bool mIsBodyHtml = false;
        private MailMessage MailObject;
        bool mailSent = false;

        #endregion
 public SMTP(string[] mailTo, string mailSubject, string mailBody)
        {
            MailObject = new MailMessage();
            mMailFrom = ConfigurationManager.AppSettings["SendFrom"];
            mMailDisplyName = ConfigurationManager.AppSettings["DisplayName"];
            mMailTo = mailTo;
            mMailCc = null;
            mMailBcc = null;
            mMailSubject = mailSubject;
            mMailBody = mailBody;
            mMailAttachments = null;

            mSMTPServer = ConfigurationManager.AppSettings["SMTPServer"];
            mSMTPPort = Convert.ToInt32(ConfigurationManager.AppSettings["SMTPPort"]);
            mSMTPUsername = ConfigurationManager.AppSettings["SMTPUsername"];
            mSMTPPassword = ConfigurationManager.AppSettings["SMTPPassword"];
            mSMTPSSL = false;
        }
}
还是传参的错误吧 --------------------编程问答--------------------  Response.Write(T(new string[]{"1","2"}));=》1

        public string T(string[] arr)
        {
            return arr[0];
        } --------------------编程问答--------------------
引用 3 楼  的回复:
 Response.Write(T(new string[]{"1","2"}));=》1

        public string T(string[] arr)
        {
            return arr[0];
        }

+1 --------------------编程问答-------------------- 我这样string   []   strs=   new   string[]{ "aa "}; 
然后调用初始化一个对象   SMTP   a   =   new   SMTP(strs, "1 ", "2 ");报错说 

这种调用方式是正确的,问题可能出在其他地方。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,