csharp进阶练习题:字符串转换为一个整数与任何指定的基【难度:2级】:
在C#
,内置到一个字符串转换为与指定的碱的整数的唯一语言是’Convert.ToInt32(字符串值,整数fromBase).然而,这仅允许转化从基座2,8,10,和16.如果你所希望的字符串从任意基座内
2 <= fromBase <= 36`转换为整数?
任务概述
写一个方法StringExtensions.Parse(此字符串值,INT fromBase)
将数字的字符串表示形式转换与碱,其中所述碱是2的范围内,以36,包括端值,进入一个Int32.
<! - C# 文档 - >
文档:
StringExtensions.Parse方法(String,Int32)已
返回一个Int32表示字符串.该字符串的基数由第二个参数指定.
的语法</跨度>
的公共</跨度>
的静态</跨度>
的 INT </跨度>解析(
的 <跨度风格= “颜色:蓝;”>此字符串</跨度>值,</跨度>
的 <跨度风格= “颜色:蓝;”> INT </跨度> fromBase </跨度>
)
的参数</强>
值的
的类型: System.String
的它可以由数字或字母的字符串,并且表示在任意的基数的数字</跨度>.
fromBase 的
的类型: System.Int32
的那基值的是在</跨度>.
的返回值</强>
<跨度>类型: System.Int32 </跨度>
分析得到的值.
的例外</跨度>
<表式= “宽度:350像素;边界:1px的固体灰;”>
<第风格= “背景色:#ABABAB;颜色:#424242;字型重量:大胆;字体大小:知识+;边界:1px的固体灰;”>异常</次>
<第风格= “背景色:#ABABAB;颜色:#424242;字型重量:大胆;字体大小:知识+;边界:1px的固体灰;”>条件</次>
ArgumentNullException
值的为空
ArgumentException的
值的是的String.Empty 或 fromBase 的不是2至36的范围内,包括端值.
出现FormatException
值的包含一个字符,是不是在通过的 fromBase 中指定的基本的有效数位.
发生OverflowException
值的代表数字是小于 Int32.MinValue 或比 Int32.MaxValue .
约束
- 对于
Parse
行为仅针对2 <= fromBase <= 36
定义.如果fromBase
超出该范围,抛出ArgumentException
. - 传递给
Parse
字符串将不包含一个负号,'-'
,但返回值可能仍是负的.例如,如果"FFFFFFFF.Parse(16)"
被调用时,所得到的值将是-1(这是相同的行为Convert.ToInt32( "FFFFFFFF",16)
). - 传递给
Parse
字符串只能包含数字,小写字母和大写字母.一个字母的大写变体具有相同的值作为其小写变型中,例如"一个" .Parse(11)== "A" .Parse(11)
.
编程目标:
using System;
public static class StringExtensions
{
public static int Parse(this string value, int fromBase)
{
throw new NotImplementedException();
}
}
测试样例:
namespace Solution
{
using NUnit.Framework;
using System;
using System.Collections.Generic;
[TestFixture]
public class BasicTest
{
{
get
{
yield return new TestCaseData(new object[] {"10", 2}).Returns(2);
yield return new TestCaseData(new object[] {"10", 3}).Returns(3);
yield return new TestCaseData(new object[] {"12", 4}).Returns(6);
yield return new TestCaseData(new object[] {"1234567890", 10}).Returns(1234567890);
最佳答案(多种解法):
更多关联题目:
csharp高级练习题:反思#3 - 添加成员结果【难度:3级】–景越C# 经典编程题库,不同难度C# 练习题,适合自学C# 的新手进阶训练
免责申明
本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars.com/
https://www.codewars.com/kata/convert-a-string-to-an-integer-with-any-specified-base