代码如下,当表示层调用时就报错,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");
         
        }
    }
}