
以下几行c#代码看不懂,求高手帮用中文解一下谢谢
classProgram{delegatedoubleProcessDelegate(doubleparam1,doubleparam2);staticdoubleMul...
class Program
{
delegate double ProcessDelegate(double param1, double param2);
static double Multiply(double param1, double param2)
{
return param1 * param2;
}
static double Divide(double param1, double param2)
{
return param1 / param2;
}
static void Main(string[] args)
{
ProcessDelegate process;
Console.WriteLine("Enter 2 numbers separated with a comma:");
string input = Console.ReadLine(); /* 假设输入是 : "3,7" */
int commaPos = input.IndexOf(','); /* 为什么input是字符串变量怎么能贝值给int变量呢?而且"3,7" 分开後是两个int值啊,commaPos到底得到的是什么?input.IndexOf(',')的含义是什么? */
double param1 = Convert.ToDouble(input.Substring(0, commaPos)); /* 0是元素[0]的意思吗?commaPos在这里的作用是什么? */
double param2 = Convert.ToDouble(input.Substring(commaPos + 1, input.Length - commaPos - 1));
Console.WriteLine("Enter M to multiply or D to divide:");
input = Console.ReadLine();
if (input == "M")
process = Multiply;
else
process = Divide;
Console.WriteLine("Result: {0}", process(param1, param2));
Console.ReadKey();
}
}
其他的都能看懂,请帮主力的解释一下发问点,谢谢了! 展开
{
delegate double ProcessDelegate(double param1, double param2);
static double Multiply(double param1, double param2)
{
return param1 * param2;
}
static double Divide(double param1, double param2)
{
return param1 / param2;
}
static void Main(string[] args)
{
ProcessDelegate process;
Console.WriteLine("Enter 2 numbers separated with a comma:");
string input = Console.ReadLine(); /* 假设输入是 : "3,7" */
int commaPos = input.IndexOf(','); /* 为什么input是字符串变量怎么能贝值给int变量呢?而且"3,7" 分开後是两个int值啊,commaPos到底得到的是什么?input.IndexOf(',')的含义是什么? */
double param1 = Convert.ToDouble(input.Substring(0, commaPos)); /* 0是元素[0]的意思吗?commaPos在这里的作用是什么? */
double param2 = Convert.ToDouble(input.Substring(commaPos + 1, input.Length - commaPos - 1));
Console.WriteLine("Enter M to multiply or D to divide:");
input = Console.ReadLine();
if (input == "M")
process = Multiply;
else
process = Divide;
Console.WriteLine("Result: {0}", process(param1, param2));
Console.ReadKey();
}
}
其他的都能看懂,请帮主力的解释一下发问点,谢谢了! 展开
4个回答
展开全部
首先楼主要知道方法:
IndexOf
Substring
是干嘛的,自然就知道什么意思了
IndexOf
取某字符串在源字符串的位置的索引
如:
源字符串是:"abcdefg"
a的索引是0 b的索引是1 c的索引是2 d的索引是3 e的索引是4 ......
如果我要取cde在元字符串的索引
也就是:"abcdefg".indexOf("cde")
符合条件的索引是c的索引2
如果要取"ced"
符合条件的是-1
因为,不存在该字符串
Substring
按索引取字符串的某一节
如:"abcdefg"
如果我要取Substring(0, 2)
上面已经讲到索了0就是a
注意:后面的2是取字符串的长度
也就是两个字符,那么结果是:
ab
根据上面,我们就知道commaPos
原来是input字符串的","的索引了
IndexOf
Substring
是干嘛的,自然就知道什么意思了
IndexOf
取某字符串在源字符串的位置的索引
如:
源字符串是:"abcdefg"
a的索引是0 b的索引是1 c的索引是2 d的索引是3 e的索引是4 ......
如果我要取cde在元字符串的索引
也就是:"abcdefg".indexOf("cde")
符合条件的索引是c的索引2
如果要取"ced"
符合条件的是-1
因为,不存在该字符串
Substring
按索引取字符串的某一节
如:"abcdefg"
如果我要取Substring(0, 2)
上面已经讲到索了0就是a
注意:后面的2是取字符串的长度
也就是两个字符,那么结果是:
ab
根据上面,我们就知道commaPos
原来是input字符串的","的索引了
展开全部
input .IndexOf(',') 返回的是‘,’ 号 在字符串中的位置 是个int型
commPos 就是‘,’ 在intput 中的位置
input.Substring(0,commaPos); 是截取字符串 从0 开始 到commaPos 的位置
commPos 就是‘,’ 在intput 中的位置
input.Substring(0,commaPos); 是截取字符串 从0 开始 到commaPos 的位置
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
IndexOf, 返回在逗号“,”相同的第一个字符的在input中的位置,如果input字符串中不存在逗号,则返回-1。
比如:
string input = "abcd,efg";
int commaPos = input.IndexOf(','); // 结果commaPos = 4,要注意索引是从0开始。
substring 中0是索引 就是从第1个位置开始截取,截取到commaPos这个位置
比如:
string input = "abcd,efg";
int commaPos = input.IndexOf(','); // 结果commaPos = 4,要注意索引是从0开始。
substring 中0是索引 就是从第1个位置开始截取,截取到commaPos这个位置
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哥们,基础没搞好啊
indexOf方法的解释
http://msdn.microsoft.com/zh-cn/library/system.string.indexof.aspx
substring(a,b)意思是,从a开始截取字符串,长度是b 个
indexOf方法的解释
http://msdn.microsoft.com/zh-cn/library/system.string.indexof.aspx
substring(a,b)意思是,从a开始截取字符串,长度是b 个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询