c#初级编程问题

来源:百度知道 编辑:UC知道 时间:2024/05/27 14:26:11
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
int a, b, c, d,e;
Console.WriteLine("请依次输入ABCD 按回车确认:");
a = (int)Console.ReadLine();
b = (int)Console.ReadLine();
c = (int)Console.ReadLine();
d = (int)Console.ReadLine();
Console.WriteLine("现在计算乘积");
Console.WriteLine("{0}*{1}*{2}*{3}={4}.", a, b, c, d, e = a * b * c * d);
Console.ReadKey();

}
}

错误 3 无法将类型“string”转换为“int”
为什么??????
你能帮我解释下么。。

a = Convert.ToDouble();
b = Convert.ToDouble();
c = Convert.ToDouble();
d = Convert.ToDouble();
我这样为什么不行?
又或者这

class Program
{
static void Main(string[] args)
{
int a, b, c, d,e;
Console.WriteLine("请依次输入ABCD 按回车确认:");
a = int.Parse(Console.ReadLine());
b = int.Parse(Console.ReadLine());
c = int.Parse(Console.ReadLine());
d = int.Parse(Console.ReadLine());
Console.WriteLine("现在计算乘积");
Console.WriteLine("{0}*{1}*{2}*{3}={4}.", a, b, c, d, e = a * b * c * d);
Console.ReadKey();

}

必须使用CONVERT类内的转换方法进行你需要的转换
否则,按照你这样转换肯定报错
一般转换只能从低等级数据转换为高等级 如同INT->DOUBLE char->string
但是当这些反过来的时候就会报错 因为数据所需字节不一样,必须依照原则进行取舍
所以你这样转换是会报错的
当然 PARSE也可以

这样写Convert.ToInt32(Console.ReadLine());这个方法是尝试将任何对象转换成int。如果值不能作为数字。则会抛出异常。所以这个方法可以行得通。

(int)这样的强制转换;只能将int类的父类转换成int。
但Console.ReadLine()是string。

一楼正解解,要用 int.Parse(Console.Read