c# 引用传递参数

来源:百度知道 编辑:UC知道 时间:2024/06/08 11:40:17
某商场正在促销打折,购物忙100减50,输入购买的商品原价,编写方法计算计算顾客实际的付款数,"要求引用传递参数"(重点)。如:输入190,输出140.

满100减50是指不足100的部分按原价付款,按引用传递参数,传入是时原价,方法返回后参数变为实际的付款数。

如果不引用传递参数,还会做点,要引用的话就不会了,前辈们多多指教。。先谢了。
我是这样写的;
using System;
using System.Collections.Generic;
using System.Text;

namespace Di_3zuoye
{
class zuoye_3
{
static void Main(string[] args)
{
int price1;
Console.WriteLine("原价为:");
price1 = int.Parse(Console.ReadLine());
Get(ref price2);(错误当前文件中不存在"price2")
Console.WriteLine("实际付款为:{0}", price2);(错误当前文件中不存在"price2")

Console.ReadLine();

}

private static int Get(ref int price2)
{
int price1=0;

if (price1 <= 100)
{
price2 = price1

方法,你在主函数中调用一下就OK了。时间有限,就写这么多啦。
public void get(int price)
{
if(price<=100)
{
console.write(price);
else
{
price=price-50;
console.write(price);
}

}
}

手写的有错误还请谅解。
希望对你有所帮助。

使用ref,表示引用传递.
class Program
{
public static void Discount(ref decimal m)
{
//m =(int)(m/100)*100- (int)(m / 100)*50 + m % 100;
m=m%100+(m-m%100)*0.5m;
}
static void Main(string[] args)
{
Console.WriteLine("输入商品原价:");
decimal n =decimal.Parse( Console.ReadLine());
Discount(ref n);
Console.WriteLine("实际付款总额为:{0}",n);
}
}

复制过去试试... 你写的那算什么东东啊!首先系统提示"错误当前文件中不存在"price2"是因为你的price2变量在使用前没有声明,而且ref传递的变量在使用前除了要声明,还一定要初始化.
还有就是你的那个Get方法,算法根本就错着呢,你带几个数试试看.好好读读我的程序吧...

using