A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 许大虾 中级黑马   /  2013-5-21 15:31  /  2161 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. int a = 3;
  2. 2 Test(a);//调用者
  3. 3 //Console.WriteLine(a);
  4. 4 Add(30, 20,"aaa");
  5. 5 //如果一个方法一旦有参数,那么调用者就必须传参数,并且传参数的个数与对应位置上的类型必须一致
  6. 6 }
  7. 7 //被调用者
  8. 8 public static void Test(string  a) //形参
  9. 9 {
  10. 10 a = a + 1;
  11. 11 Console.WriteLine(a);
  12. 12 }
  13. 13 //求两个整数的合
  14. 14 public static void Add(string  a, string b,int  name)
  15. 15 {
  16. 16 Console.WriteLine("a+b={0}", a + b);
  17. 17 }
  18. 18
复制代码

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

8 个回复

倒序浏览
本帖最后由 李君言 于 2013-5-21 15:48 编辑

public static void Test ( string  a ) 这个方法接收的是string类型参数,
你传给它却是一个int类型
int a = 3;Test ( a ) ;

public static void Add(string  a, string b,int  name)这个对应接收的是string类型,string类型和int类型
传参数的时候就应该对应的string类型,string类型和int类型
例如Add("字符","字符",33);

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报
楼上正解!
回复 使用道具 举报
  1.         static void Main(string[] args)
  2.         {
  3.             int a = 3;
  4.             Test(a.ToString());//Test()方法传入的参数要求是string类型,不能直接写a,需要进行类型转换。
  5.             Add("30", "20", 22);//同上,方法里规定了传入参数的格式,前两个是string类型,后一个是int类型,故其跟的参数类型也应该是(string string int)
  6.             Console.ReadKey();
  7.         }

  8.         public static void Test(string a)//传入参数要求为string类型。如不符合,需在传入前进行数据类型转换操作。
  9.         {
  10.             a = a + 1;//字符串加字符串,如果要int型,需要先转换。
  11.             Console.WriteLine(a);//输出31
  12.         }

  13.         public static void Add(string a, string b, int name)//传入的三个参数要求分别是string类型、string类型和int类型。如不符合,需在传入前进行数据类型转换操作。
  14.         {

  15.             Console.WriteLine("a+B={0}", a + b);//因为a,b都为字符串,故a+b是字符串合并操作,输出3020。
  16.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报
你的两个方法参数传递有问题,Test这个方法需要参数是string,不应该给int类型的;Add方法需要的是string,string,int很显然你给的也不对,你给的是int,int,string,所以错误!说明了int是不能隐式转换为string的!

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报
参数对应的类型 要一致
回复 使用道具 举报
Add(30, 20,"aaa");
public static void Add(string  a, string b,int  name)

方法参数与调用不一致
回复 使用道具 举报
{:soso_e133:}传递的参数的类型不对,参数类型 ,应和 函数的参数类型 一致
回复 使用道具 举报
这一题考虑到实参和形参的问题
在调用方法的时候,形参与实参的个数以及两种参数的类型都必须是一致的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马