csharp进阶练习题:字符串转换为一个整数与任何指定的基【难度:2级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值