代码如下,当表示层调用时就报错,void无法隐式转换为string .请问函数要修改那个地方?
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication1
{
class Program
{
public void codeNumber(string source, string num) {
int n1 = source.Length;
int n2 = num.Length;
string str1 = source.Substring(n1 - n2, n2);
try
{ int str2 = Convert.ToInt32(str1);
int num2 = Convert.ToInt32(num);
int sum = str2 + num2-1;
int n3 = sum.ToString().Length;
if (n3 > n2)
{
str1 = source.Substring(n1 - n2 - 1, n2 + 1);
str2 = Convert.ToInt32(str1);
sum = str2 + num2-1;
}
string str4 = source.Substring(0, n1 - n2) + sum.ToString(); Console.WriteLine(str4);
} catch
{
Console.WriteLine("输入有误");
} //string str1 = source.Substring(0, source.Length - num.Length);
//string str2 = str1 + num;
//return str2;
//string str1 = Regex.Match(source, @"[0-9]+", RegexOptions.RightToLeft).Value;
//Console.WriteLine(str1);
//string begin = str1.Substring(0, source.Length - str1.Length);
//Console.WriteLine(begin);
//return begin + (Convert.ToInt64(str1) + num).ToString().PadLeft(str1.Length, char.Parse("0"));
}
static void Main(string[] args)
{
Program c = new Program();
c.codeNumber("AB00230001", "70000");
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication1
{
class Program
{
public void codeNumber(string source, string num) {
int n1 = source.Length;
int n2 = num.Length;
string str1 = source.Substring(n1 - n2, n2);
try
{ int str2 = Convert.ToInt32(str1);
int num2 = Convert.ToInt32(num);
int sum = str2 + num2-1;
int n3 = sum.ToString().Length;
if (n3 > n2)
{
str1 = source.Substring(n1 - n2 - 1, n2 + 1);
str2 = Convert.ToInt32(str1);
sum = str2 + num2-1;
}
string str4 = source.Substring(0, n1 - n2) + sum.ToString(); Console.WriteLine(str4);
} catch
{
Console.WriteLine("输入有误");
} //string str1 = source.Substring(0, source.Length - num.Length);
//string str2 = str1 + num;
//return str2;
//string str1 = Regex.Match(source, @"[0-9]+", RegexOptions.RightToLeft).Value;
//Console.WriteLine(str1);
//string begin = str1.Substring(0, source.Length - str1.Length);
//Console.WriteLine(begin);
//return begin + (Convert.ToInt64(str1) + num).ToString().PadLeft(str1.Length, char.Parse("0"));
}
static void Main(string[] args)
{
Program c = new Program();
c.codeNumber("AB00230001", "70000");
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货