高手帮我解决下。
C#中声明方法时,方法有几个参数你在调用的时候就需要输入相对应的参数
但是有个参数的声明是可以在调用方法时不填写,好像是在参数前面加几个点吧!
我好久没有用了忘记了
如:
正常写法:
public void a(String x,String xx)
{
}
调用
a("11","22")
使用省略参数:
public void a(String x,..String xx)--我不知道怎么声明这个参数 好像是加几个点(我这样写肯定错了。。)
{}
调用
a("11")--第二个参数可以不填写,虽然声明了。

解决方案 »

  1.   

    再声明一个
    public void a(String x)
    {
    }
      

  2.   

    在.net framework 4.0中好像可以实现这样的功能,但是在4.0以下应该就要重新写一个相同名称但参数不一样的方法了,方法重载!
      

  3.   

    方法重载
    public void a(String x,String xx)
    {
    }
    public void a(String x)
    {
    }
      

  4.   

    很简单,就一个params ,后面跟参数类型数组,如:        private void ShowInfo(params string[] values)
            {
                if (values != null)
                {
                    string info = string.Empty;
                    foreach (string value in values)
                    {
                        info += value;
                    }
                    MessageBox.Show(info);
                }
            }测试:ShowInfo("one");ShowInfo("one ","two “, "three");没有问题,依次弹出 one 和 one two three
      

  5.   


            public void test(params string[] _para)
            {        }
      

  6.   

    public void test(params string[] _para)
      {  }
    在参数类型相同,方法体里面已经做了参数的处理的情况确实可行
      

  7.   

    C#2.0是强命名环境,不支持。Flex支持。
      

  8.   

    .Net4.0以前, 可变参数就是用params关键字实现的,而且这个东东只能放在参数列表中的最后一个。
      

  9.   


    在VS2008中,调用时参数的个数,类型,和次序必须匹配 ;在VS2010 中,对参数的使用好像有些变化了。
    在VS2008, 你可以使用 参数数组params,正如5楼st200316 所说至于参数中加几个点,我还是第一次听说,应该没这回事吧。
      

  10.   

    没见过,期待
    不过  你可以多设置参数 ,传值的时候可以为空
    void function(string a,string b ,string c)
    function("str","","");
      

  11.   

    你说的这个功能好像是VB中有的,.Net中似乎没有,只能重载!