C#语言学习--基础部分(二二)ExtensionsMethods
2012-10-23 20:45
706 查看
Programm.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ExtensionsMethods
{
class Program
{
static void DoWork()
{
int x = 591;
for (int i = 2; i <= 10; i++)
{
Console.WriteLine("{0} in base {1} is {2}",x,i,x.ConvertToBase(i));
}
}
static void Main(string[] args)
{
try {
DoWork();
}catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}
Util.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ExtensionsMethods
{
static class Util
{
public static int ConvertToBase(this int i, int baseToConvertTo)
{
if (baseToConvertTo < 2 || baseToConvertTo > 10)
{
throw new ArgumentException("Value cannot be converted to base"+baseToConvertTo.ToString());
}
int result = 0;
int iterations = 0;
do
{
int nextDigit = i % baseToConvertTo;
i /= baseToConvertTo;
result += nextDigit * (int)Math.Pow(10, iterations);
iterations++;
} while (i != 0);
return result;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ExtensionsMethods
{
class Program
{
static void DoWork()
{
int x = 591;
for (int i = 2; i <= 10; i++)
{
Console.WriteLine("{0} in base {1} is {2}",x,i,x.ConvertToBase(i));
}
}
static void Main(string[] args)
{
try {
DoWork();
}catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}
Util.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ExtensionsMethods
{
static class Util
{
public static int ConvertToBase(this int i, int baseToConvertTo)
{
if (baseToConvertTo < 2 || baseToConvertTo > 10)
{
throw new ArgumentException("Value cannot be converted to base"+baseToConvertTo.ToString());
}
int result = 0;
int iterations = 0;
do
{
int nextDigit = i % baseToConvertTo;
i /= baseToConvertTo;
result += nextDigit * (int)Math.Pow(10, iterations);
iterations++;
} while (i != 0);
return result;
}
}
}
相关文章推荐
- C#语言学习--基础部分(十三)枚举类型和结构体
- C#语言学习--基础部分(十八)数组参数
- C#语言学习--基础部分(七) --类->构造方法
- C#语言学习--基础部分(十四)枚举类型和结构体(续)
- C#语言学习--基础部分(二一) Inherit Demo
- C#语言学习--基础部分(十二) --堆,栈,装箱,拆箱,安全数据类型转换:as, is
- C#语言学习--基础部分(二十) 类的赋值,new,override,virtual
- C#语言学习--基础部分(十七)集合ArrayList,Queue,Stack,SortedList,Hashtable
- C#语言学习--基础部分(一)
- C#语言学习--基础部分(二) 方法重载
- C#语言学习--基础部分(九) --类->静态字段,静态方法,静态类
- C#语言学习--基础部分(三) 方法重载续(.net 4.0的新特性)
- C#语言学习--基础部分(八) --类->构造方法续,静态类,静态方法
- C#语言学习--基础部分(四) --关系运算符,判断语句
- C#语言学习--基础部分(六) --异常处理
- C#语言学习--基础部分(五) --复合运算符,循环语句
- C#语言学习--基础部分(十一) --值类型和引用类型
- C#语言学习--基础部分(十) --类->部分类,匿名类,命名空间
- C#语言学习--基础部分(十五)数组(1)
- C#语言学习--基础部分(十六)数组(2)