您的位置:首页 > 编程语言 > C#

C#语言学习之旅(5)--运算符和类型强制转换

2011-05-25 22:32 441 查看
本章节主要来讲解关于运算和类型转换的一些问题。

5.1 条件运算符

条件运算符(?:)也成为三元运算符,也就是if..else结构的简化形式。其语法:condition? true_value:false_value下面给出列子来

显式隐式demousing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SimpleCurrency
{
struct Currency
{
public uint Dollars;
public ushort Cents;

public Currency(uint dollars,ushort cents)
{
this.Dollars = dollars;
this.Cents = cents;
}

public override string ToString()
{
return string.Format("${0}.{1,-2:00}",Dollars,Cents);
}

//implicit转换
public static implicit operator float (Currency value)
{
return value.Dollars + (value.Cents / 100.0f);
}
//explicit转化
public static explicit operator Currency(float value)
{
checked
{
uint dollars = (uint)value;
ushort cents = Convert.ToUInt16((value - dollars) * 100);
return new Currency(dollars, cents);
}
}

}
class Program
{
static void Main(string[] args)
{
Currency balance = new Currency(100, 50);
float f = balance;
Console.WriteLine(balance.ToString());
Console.WriteLine(f.ToString());

float amount = 56.44f;
Currency amount2 = (Currency)amount;//显式转换
//Currency amount2 = amount;//错误
Console.WriteLine(amount2.ToString());
}
}
}代码下载: CShrap第五章

小结:本章节就写到这里,下一章节讲详细讲解有关事件和委托问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐