单位C#乘法数组

单位C#乘法数组,c#,unity3d,C#,Unity3d,我正在为unity编写一个脚本,该脚本采用数字数组(每个索引只有一个0-9之间的数字。如果数字超过10,它将去掉10,并将[index+1]值增加1。因此,如果我想要一个850的数字,我的列表将是 List Money=new List(){0,5,8,0,0}; 这是可行的,我的问题是我无法找到一种方法,将其中的两个相乘,得到最终的答案,我通常只使用正则数,但我希望这个系统能够超过unity的整数极限和科学符号极限e+300 非常感谢您的帮助。祝您度过愉快的一天 编辑:如果这不够清楚,下面是一

我正在为unity编写一个脚本,该脚本采用数字数组(每个索引只有一个0-9之间的数字。如果数字超过10,它将去掉10,并将[index+1]值增加1。因此,如果我想要一个850的数字,我的列表将是
List Money=new List(){0,5,8,0,0};

这是可行的,我的问题是我无法找到一种方法,将其中的两个相乘,得到最终的答案,我通常只使用正则数,但我希望这个系统能够超过unity的整数极限和科学符号极限e+300

非常感谢您的帮助。祝您度过愉快的一天

编辑:如果这不够清楚,下面是一个例子

List1={0,5,8,0}
List2={3,6,3,0}

我需要将列表1和列表2相乘得到

List3={0,5,5,6,0,3}


由于850*363=306550

要回答这个事实上非常有趣的学习任务,我建议实施传统的“手动”乘法:
不确定什么(内部)像BigInteger这样的库是隐藏的,但从理论上讲,这将适用于您的列表,因为它允许您一步一步地通过10s、100s、1000s等等。您能给我们一个具体的例子吗?为什么850
0、5、8、0、0而不是
0、8、5、0、0
?为什么不使用BigInteger来表示veY非常大的数字,而不是滚动你自己的?2件事,1,我不知道什么是位整数(而且,我试图创建我自己的,以便我可以学习,我参加了一个关于统一的课程,我前进,没有人可以帮助我,所以我去互联网寻求支持),第二,我把它作为0,5,8,因为(a,b,c)a是1的位置,b是10的位置,c是100的位置,d是1000的位置,等等。具体的例子:{0,5,8,0,0}*{3,6,3,0,0},我做过尝试,但我不能直接乘法,我也不知道如何将每个数字相乘而不出错。它是
大整数
,不是
位整数
,如果你不熟悉它,你可以用谷歌搜索。你应该把这些评论的内容添加到你的问题中,因为它们是理解问题所必需的经过几个小时的尝试,我终于让它工作了,我做了很多,我做了我小时候学过的基本长乘法,并把它放入数组,最后我让它工作了,谢谢你的帮助!@KingDuck恭喜!解决一个难题感觉很棒:)但是,请确保在性能至关重要时不要真正使用此选项,因为BigInteger很可能具有更好的硬件加速。