如何使用fail to convertt.ToInt16(sr)

1553人阅读
C#编程:枚举(enum)与结构(struct)的定义和使用方法
枚举是种数据类型,包含多个固定的值.在利用一组常量时可以使用枚举类型.结构好比一个模板.在此模板中声明变量.以后使用此模板中的变量时无须再声明.看下面代码:
namespace ConsoleApplication1
&& &//定义枚举.枚举所使用的类型只能为:sbyte, byte, short, ushort, int, uint, long, ulong
&& &enum student : sbyte {
&& & & &name = 1,
&& & & &age = 12,
&& & & &sex = -11
&& &//定义结构
&& &public struct studentInfo {
&& &class Program
&& & & &static void Main(string[] args)
&& & & & & &//枚举的使用方法开始
&& & & &int info = Convert.ToInt16(student.name);
&& & & & & &Console.WriteLine("我的名字叫:{0}", info);
&& & & & & &Console.ReadKey();
&& & & & & &//结构的使用方法开始
&& & & &studentInfo cngothicInfo = new studentInfo();
&& & & & & &cngothicInfo.name = "cndeath";
&& & & & & &cngothicInfo.age = 23;
&& & & & & &cngothicInfo.sex = "男";
&& & & & & &Console.WriteLine("结构name:{0}", cngothicInfo.name);
&& & & & & &Console.ReadKey();
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:391015次
积分:5029
积分:5029
排名:第1828名
原创:103篇
转载:170篇
评论:70条
(2)(1)(3)(1)(5)(2)(8)(3)(1)(1)(4)(5)(4)(6)(8)(3)(11)(2)(3)(1)(2)(2)(4)(4)(2)(2)(2)(3)(1)(7)(7)(4)(1)(1)(4)(1)(1)(3)(4)(3)(2)(5)(3)(1)(6)(2)(2)(3)(1)(2)(8)(1)(6)(5)(4)(4)(10)(25)(9)(11)(5)(6)(2)(7)(7)(13)Convert.ToInt16 方法 (Object, IFormatProvider) (System)
Convert.ToInt16 方法 (Object, IFormatProvider)
.NET Framework 3.5
更新:2007 年 11 月
使用指定的特定文化特性之格式資訊,將指定的
的值轉換為 16 位元帶正負號的整數。
命名空間:
mscorlib (在 mscorlib.dll 中)
public static short ToInt16(
Object value,
IFormatProvider provider
public static short ToInt16(
Object value,
IFormatProvider provider
public static function ToInt16(
value : Object,
provider : IFormatProvider
value型別:
provider型別:
介面實作,提供特定文化特性的格式資訊。
等於 value 值的 16 位元帶正負號的整數;如果 value 為 null,則為零。
例外狀況條件
value 沒有實作 。
provider 讓使用者可以指定關於 value 內容的特定文化特性的轉換資訊。例如,如果 value 是表示數字的 ,則 provider 可以提供有關用來表示該數字之標記法的特定文化特性資訊。
基礎型別忽略 provider,但是如果 value 是實作
介面的使用者定義型別,則會被接受。
下列程式碼範例會定義一個實作
的類別,以及一個實作
的類別。實作保有
類別物件。會將每個類別傳入 ToInt16 方法的物件。這個方法會傳回
值陣列的平均值,而該陣列會使用實作
的物件來決定計算平均值的方式。
// Example of the Convert.ToXXX( object, IFormatProvider ) methods.
using System.C
// Define the types of averaging available in the class
// implementing IConvertible.
public enum AverageType : short
GeometricMean = 1,
ArithmeticMean = 2,
Median = 3
// Pass an instance of this class to methods that require an
// IFormatProvider. The class instance determines the type of
// average to calculate.
public class AverageInfo : IFormatProvider
protected AverageType AvgT
// Specify the type of averaging in the constructor.
public AverageInfo( AverageType avgType )
this.AvgType = avgT
// This method returns a reference to the containing object
// if an object of AverageInfo type is requested.
public object GetFormat( Type argType )
if ( argType == typeof( AverageInfo ) )
return this;
return null;
// Use this property to set or get the type of averaging.
public AverageType TypeOfAverage
get { return this.AvgT }
set { this.AvgType = }
// This class encapsulates an array of double values and implements
// the IConvertible interface. Most of the IConvertible methods
// return an average of the array elements in one of three types:
// arithmetic mean, geometric mean, or median.
public class DataSet : IConvertible
protected ArrayL
protected AverageInfo
// Construct the object and add an initial list of values.
// Create a default format provider.
public DataSet( params double[ ] values )
data = new ArrayList( values );
defaultProvider =
new AverageInfo( AverageType.ArithmeticMean );
// Add additional values with this method.
public int Add( double value )
data.Add( value );
return data.C
// Get, set, and add values with this indexer property.
public double this[ int index ]
if( index &= 0 && index & data.Count )
return (double)data[ index ];
throw new InvalidOperationException(
"[DataSet.get] Index out of range." );
if( index &= 0 && index & data.Count )
data[ index ] =
else if( index == data.Count )
data.Add( value );
throw new InvalidOperationException(
"[DataSet.set] Index out of range." );
// This property returns the number of elements in the object.
public int Count
get { return data.C }
// This method calculates the average of the object's elements.
protected double Average( AverageType avgType )
if( data.Count == 0 )
return 0.0;
switch( avgType )
case AverageType.GeometricMean:
SumProd = 1.0;
for( int Index = 0; Index & data.C Index++ )
SumProd *= (double)data[ Index ];
// This calculation will not fail with negative
// elements.
return Math.Sign( SumProd ) * Math.Pow(
Math.Abs( SumProd ), 1.0 / data.Count );
case AverageType.ArithmeticMean:
SumProd = 0.0;
for( int Index = 0; Index & data.C Index++ )
SumProd += (double)data[ Index ];
return SumProd / data.C
case AverageType.Median:
if( data.Count % 2 == 0 )
return ( (double)data[ data.Count / 2 ] +
(double)data[ data.Count / 2 - 1 ] ) / 2.0;
return (double)data[ data.Count / 2 ];
return 0.0;
// Get the AverageInfo object from the caller's format provider,
// or use the local default.
protected AverageInfo GetAverageInfo( IFormatProvider provider )
AverageInfo avgInfo = null;
if( provider != null )
avgInfo = (AverageInfo)provider.GetFormat(
typeof( AverageInfo ) );
if ( avgInfo == null )
return defaultP
return avgI
// Calculate the average and limit the range.
protected double CalcNLimitAverage( double min, double max,
IFormatProvider provider )
// Get the format provider and calculate the average.
AverageInfo avgInfo = GetAverageInfo( provider );
double avg = Average( avgInfo.TypeOfAverage );
// Limit the range, based on the minimum and maximum values
// for the type.
return avg & max ? max : avg & min ? min :
// The following elements are required by IConvertible.
// None of these conversion functions throw exceptions. When
// the data is out of range for the type, the appropriate
// MinValue or MaxValue is used.
public TypeCode GetTypeCode( )
return TypeCode.O
public bool ToBoolean( IFormatProvider provider )
// ToBoolean is false if the dataset is empty.
if( data.Count &= 0 )
return false;
// For median averaging, ToBoolean is true if any
// non-discarded elements are nonzero.
else if( AverageType.Median ==
GetAverageInfo( provider ).TypeOfAverage )
if (data.Count % 2 == 0 )
return ( (double)data[ data.Count / 2 ] != 0.0 ||
(double)data[ data.Count / 2 - 1 ] != 0.0 );
return (double)data[ data.Count / 2 ] != 0.0;
// For arithmetic or geometric mean averaging, ToBoolean is
// true if any element of the dataset is nonzero.
for( int Index = 0; Index & data.C Index++ )
if( (double)data[ Index ] != 0.0 )
return true;
return false;
public byte ToByte( IFormatProvider provider )
return Convert.ToByte( CalcNLimitAverage(
Byte.MinValue, Byte.MaxValue, provider ) );
public char ToChar( IFormatProvider provider )
return Convert.ToChar( Convert.ToUInt16( CalcNLimitAverage(
Char.MinValue, Char.MaxValue, provider ) ) );
// Convert to DateTime by adding the calculated average as
// seconds to the current date and time. A valid DateTime is
// always returned.
public DateTime ToDateTime( IFormatProvider provider )
double seconds =
Average( GetAverageInfo( provider ).TypeOfAverage );
return DateTime.Now.AddSeconds( seconds );
catch( ArgumentOutOfRangeException )
return seconds & 0.0 ? DateTime.MinValue : DateTime.MaxV
public decimal ToDecimal( IFormatProvider provider )
// The Double conversion rounds Decimal.MinValue and
// Decimal.MaxValue to invalid Decimal values, so the
// following limits must be used.
return Convert.ToDecimal( CalcNLimitAverage(
00000.0, provider ) );
public double ToDouble( IFormatProvider provider )
return Average( GetAverageInfo(provider).TypeOfAverage );
public short ToInt16( IFormatProvider provider )
return Convert.ToInt16( CalcNLimitAverage(
Int16.MinValue, Int16.MaxValue, provider ) );
public int ToInt32( IFormatProvider provider )
return Convert.ToInt32( CalcNLimitAverage(
Int32.MinValue, Int32.MaxValue, provider ) );
public long ToInt64( IFormatProvider provider )
// The Double conversion rounds Int64.MinValue and
// Int64.MaxValue to invalid Int64 values, so the following
// limits must be used.
return Convert.ToInt64( CalcNLimitAverage(
-75000, provider ) );
public SByte ToSByte( IFormatProvider provider )
return Convert.ToSByte( CalcNLimitAverage(
SByte.MinValue, SByte.MaxValue, provider ) );
public float ToSingle( IFormatProvider provider )
return Convert.ToSingle( CalcNLimitAverage(
Single.MinValue, Single.MaxValue, provider ) );
public UInt16 ToUInt16( IFormatProvider provider )
return Convert.ToUInt16( CalcNLimitAverage(
UInt16.MinValue, UInt16.MaxValue, provider ) );
public UInt32 ToUInt32( IFormatProvider provider )
return Convert.ToUInt32( CalcNLimitAverage(
UInt32.MinValue, UInt32.MaxValue, provider ) );
public UInt64 ToUInt64( IFormatProvider provider )
// The Double conversion rounds UInt64.MaxValue to an invalid
// UInt64 value, so the following limit must be used.
return Convert.ToUInt64( CalcNLimitAverage(
0, , provider ) );
public object ToType( Type conversionType,
IFormatProvider provider )
return Convert.ChangeType( Average(
GetAverageInfo( provider ).TypeOfAverage ),
conversionType );
public string ToString( IFormatProvider provider )
AverageType avgType = GetAverageInfo( provider ).TypeOfA
return String.Format( "( {0}: {1:G10} )", avgType,
Average( avgType ) );
class IConvertibleProviderDemo
// Display a DataSet with three different format providers.
public static void DisplayDataSet( DataSet ds )
= "{0,-12}{1,20}{2,20}{3,20}";
AverageInfo median = new AverageInfo( AverageType.Median );
AverageInfo geMean =
new AverageInfo( AverageType.GeometricMean );
// Display the dataset elements.
if( ds.Count & 0 )
Console.Write( "\nDataSet: [{0}", ds[ 0 ] );
for( int iX = 1; iX & ds.C iX++ )
Console.Write( ", {0}", ds[ iX ] );
Console.WriteLine( "]\n" );
Console.WriteLine( fmt, "Convert.", "Default",
"Geometric Mean", "Median");
Console.WriteLine( fmt, "--------", "-------",
"--------------", "------");
Console.WriteLine( fmt, "ToBoolean",
Convert.ToBoolean( ds, null ),
Convert.ToBoolean( ds, geMean ),
Convert.ToBoolean( ds, median ) );
Console.WriteLine( fmt, "ToByte",
Convert.ToByte( ds, null ),
Convert.ToByte( ds, geMean ),
Convert.ToByte( ds, median ) );
Console.WriteLine( fmt, "ToChar",
Convert.ToChar( ds, null ),
Convert.ToChar( ds, geMean ),
Convert.ToChar( ds, median ) );
Console.WriteLine( "{0,-12}{1,20:yyyy-MM-dd HH:mm:ss}" +
"{2,20:yyyy-MM-dd HH:mm:ss}{3,20:yyyy-MM-dd HH:mm:ss}",
"ToDateTime", Convert.ToDateTime( ds, null ),
Convert.ToDateTime( ds, geMean ),
Convert.ToDateTime( ds, median ) );
Console.WriteLine( fmt, "ToDecimal",
Convert.ToDecimal( ds, null ),
Convert.ToDecimal( ds, geMean ),
Convert.ToDecimal( ds, median ) );
Console.WriteLine( fmt, "ToDouble",
Convert.ToDouble( ds, null ),
Convert.ToDouble( ds, geMean ),
Convert.ToDouble( ds, median ) );
Console.WriteLine( fmt, "ToInt16",
Convert.ToInt16( ds, null ),
Convert.ToInt16( ds, geMean ),
Convert.ToInt16( ds, median ) );
Console.WriteLine( fmt, "ToInt32",
Convert.ToInt32( ds, null ),
Convert.ToInt32( ds, geMean ),
Convert.ToInt32( ds, median ) );
Console.WriteLine( fmt, "ToInt64",
Convert.ToInt64( ds, null ),
Convert.ToInt64( ds, geMean ),
Convert.ToInt64( ds, median ) );
Console.WriteLine( fmt, "ToSByte",
Convert.ToSByte( ds, null ),
Convert.ToSByte( ds, geMean ),
Convert.ToSByte( ds, median ) );
Console.WriteLine( fmt, "ToSingle",
Convert.ToSingle( ds, null ),
Convert.ToSingle( ds, geMean ),
Convert.ToSingle( ds, median ) );
Console.WriteLine( fmt, "ToUInt16",
Convert.ToUInt16( ds, null ),
Convert.ToUInt16( ds, geMean ),
Convert.ToUInt16( ds, median ) );
Console.WriteLine( fmt, "ToUInt32",
Convert.ToUInt32( ds, null ),
Convert.ToUInt32( ds, geMean ),
Convert.ToUInt32( ds, median ) );
Console.WriteLine( fmt, "ToUInt64",
Convert.ToUInt64( ds, null ),
Convert.ToUInt64( ds, geMean ),
Convert.ToUInt64( ds, median ) );
public static void Main( )
Console.WriteLine( "This example of " +
"the Convert.ToXXX( object, IFormatProvider ) methods " +
"\ngenerates the following output. The example " +
"displays the values \nreturned by the methods, " +
"using several IFormatProvider objects.\n" );
DataSet ds1 = new DataSet(
10.5, 22.2, 45.9, 88.7, 156.05, 297.6 );
DisplayDataSet( ds1 );
DataSet ds2 = new DataSet(
DisplayDataSet( ds2 );
This example of the Convert.ToXXX( object, IFormatProvider ) methods
generates the following output. The example displays the values
returned by the methods, using several IFormatProvider objects.
DataSet: [10.5, 22.2, 45.9, 88.7, 156.05, 297.6]
Geometric Mean
--------------
ToDateTime
DataSet: [, 0]
Geometric Mean
--------------
ToDateTime
// Example of the Convert.ToXXX( object, IFormatProvider ) methods.
import System.* ;
import System.Collections.* ;
// Define the types of averaging available in the class
// implementing IConvertible.
public class AverageType
public static final short None = 0;
public static final short GeometricMean = 1;
public static final short ArithmeticMean = 2;
public static final short Median = 3;
} //AverageType
// Pass an instance of this class to methods that require an
// IFormatProvider. The class instance determines the type of
// average to calculate.
public class AverageInfo implements IFormatProvider
protected int avgT
// Specify the type of averaging in the constructor.
public AverageInfo(int
this.avgType = avgT
} //AverageInfo
// This method returns a reference to the containing object
// if an object of AverageInfo type is requested.
public Object GetFormat(Type argType)
if ( argType == AverageInfo.class.ToType()) {
} //GetFormat
// Use this property to set or get the type of averaging.
/** @property
public int get_TypeOfAverage()
return this.avgT
} //get_TypeOfAverage
/** @property
public void set_TypeOfAverage(int value )
this.avgType =
} //set_TypeOfAverage
} //AverageInfo
// This class encapsulates an array of double values and implements
// the IConvertible interface. Most of the IConvertible methods
// return an average of the array elements in one of three types:
// arithmetic mean, geometric mean, or median.
public class DataSet implements IConvertible
protected ArrayL
protected AverageInfo defaultP
// Construct the object and add an initial list of values.
// Create a default format provider.
public DataSet(double values[])
data = new ArrayList(values);
defaultProvider = new AverageInfo(AverageType.ArithmeticMean);
} //DataSet
// Add additional values with this method.
public int Add(double value)
data.Add(new Double(value));
return data.get_Count() ;
// Get, set, and add values with this indexer property.
/** @property
public double get_Item(int index) throws InvalidOperationException
if ((index &= 0) && (index & data.get_Count())) {
return Convert.ToDouble((data.get_Item(index))) ;
throw new InvalidOperationException(
"[DataSet.get] Index out of range.") ;
} //get_Item
/** @property
public void set_Item(int index, double value)
throws InvalidOperationException
if ((index &= 0) && (index & data.get_Count())) {
data.set_Item( index ,(Int64) value );
if ( index == data.get_Count()
data.Add((Int64)value);
throw new InvalidOperationException(
"[DataSet.set] Index out of range.") ;
} //set_Item
// This property returns the number of elements in the object.
/** @property
public int get_Count()
return data.get_Count() ;
} //get_Count
// This method calculates the average of the object's elements.
protected double Average(int avgType)
double SumP
if ( data.get_Count() == 0
return 0.0 ;
if (avgType == AverageType.GeometricMean) {
SumProd = 1.0;
for(int index =0 ; index & data.get_Count(); index++) {
SumProd = SumProd * Convert.ToDouble((data.get_Item(index)));
// This calculation will not fail with negative
// elements.
return System.Math.Sign(SumProd)
* System.Math.Pow(System.Math.Abs(SumProd),
1.0 / data.get_Count());
else if (avgType == AverageType.ArithmeticMean ) {
SumProd = 0.0;
for(int Index=0; Index & data.get_Count(); Index++) {
SumProd += Convert.ToDouble((data.get_Item(Index)));
return SumProd / data.get_Count() ;
else if (avgType == AverageType.Median ) {
if ( (data.get_Count() % 2) == 0 ) {
return ((Convert.ToDouble(data.get_Item(data.get_Count() / 2))
+ Convert.ToDouble(data.get_Item(data.get_Count()
/ 2 - 1))) / 2.0);
return Convert.ToDouble(((data.get_Item((data.get_Count()
/ 2))))) ;
return 0.0 ;
} //Average
// Get the AverageInfo object from the caller's format provider,
// or use the local default.
protected AverageInfo GetAverageInfo(IFormatProvider provider)
AverageInfo avgInfo =
if ( provider
avgInfo =((AverageInfo)(provider.GetFormat(
AverageInfo.class.ToType())));
if ( avgInfo == null
return defaultP
return avgI
} //GetAverageInfo
// Calculate the average and limit the range.
protected double CalcNLimitAverage(
double min, double max, IFormatProvider provider)
// Get the format provider and calculate the average.
AverageInfo avgInfo = GetAverageInfo(provider);
double avg = Average(avgInfo.get_TypeOfAverage());
// Limit the range, based on the minimum and maximum values
// for the type.
return(avg & max) ? max :(avg & min) ? min :
} //CalcNLimitAverage
// The following elements are required by IConvertible.
// None of these conversion functions throw exceptions. When
// the data is out of range for the type, the appropriate
// MinValue or MaxValue is used.
public TypeCode GetTypeCode()
return TypeCode.O
} //GetTypeCode
public boolean ToBoolean(IFormatProvider provider)
// ToBoolean is false if the dataset is empty.
if ( data.get_Count() &= 0
// For median averaging, ToBoolean is true if any
// non-discarded elements are nonzero.
if ( AverageType.Median == GetAverageInfo(
provider).get_TypeOfAverage()
if ( (data.get_Count() % 2) == 0
return Convert.ToDouble(data.get_Item((data.get_Count()
/ 2))) != 0.0 || Convert.ToDouble(data.get_Item(
(data.get_Count() / 2 - 1))) != 0.0;
return Convert.ToDouble(data.get_Item((data.get_Count()
/ 2))) != 0.0;
// For arithmetic or geometric mean averaging, ToBoolean is
// true if any element of the dataset is nonzero.
for(int index=0; index & data.get_Count(); index++) {
if (Convert.ToDouble(data.get_Item(index)) != 0.0) {
} //ToBoolean
public ubyte ToByte(IFormatProvider provider)
return Convert.ToByte(CalcNLimitAverage(0, 255, provider));
} //ToByte
public char ToChar(IFormatProvider provider)
return Convert.ToChar(Convert.ToUInt16(CalcNLimitAverage(Char.MinValue,
Char.MaxValue, provider))) ;
} //ToChar
// Convert to DateTime by adding the calculated average as
// seconds to the current date and time. A valid DateTime is
// always returned.
public DateTime ToDateTime(IFormatProvider provider)
double seconds = Average(GetAverageInfo(provider).get_TypeOfAverage());
return DateTime.get_Now().AddSeconds(seconds) ;
catch(ArgumentOutOfRangeException exp) {
return(seconds & 0.0) ? DateTime.MinValue : DateTime.MaxV
} //ToDateTime
public System.Decimal ToDecimal(IFormatProvider provider)
// The Double conversion rounds Decimal.MinValue and
// Decimal.MaxValue to invalid Decimal values, so the
// following limits must be used.
return Convert.ToDecimal(CalcNLimitAverage(-7.43E+28,
7.43E+28, provider)) ;
} //ToDecimal
public double ToDouble(IFormatProvider provider)
return Average(GetAverageInfo(provider).get_TypeOfAverage()) ;
} //ToDouble
public short ToInt16(IFormatProvider provider)
return Convert.ToInt16(CalcNLimitAverage(Int16.MinValue,
Int16.MaxValue, provider)) ;
} //ToInt16
public int ToInt32(IFormatProvider provider)
return Convert.ToInt32(CalcNLimitAverage(Int32.MinValue, Int32.MaxValue,
provider)) ;
} //ToInt32
public long ToInt64(IFormatProvider provider)
// The Double conversion rounds Int64.MinValue and
// Int64.MaxValue to invalid Int64 values, so the following
// limits must be used.
return Convert.ToInt64(CalcNLimitAverage(-4775000L,
4775000L, provider)) ;
} //ToInt64
public byte ToSByte(IFormatProvider provider)
return Convert.ToSByte(CalcNLimitAverage(SByte.MinValue, SByte.MaxValue,
provider)) ;
} //ToSByte
public float ToSingle(IFormatProvider provider)
return Convert.ToSingle(CalcNLimitAverage(Single.MinValue,
Single.MaxValue, provider)) ;
} //ToSingle
public UInt16 ToUInt16(IFormatProvider provider)
return Convert.ToUInt16(CalcNLimitAverage(
Convert.ToDouble(UInt16.MinValue),
Convert.ToDouble(UInt16.MaxValue), provider));
} //ToUInt16
public UInt32 ToUInt32(IFormatProvider provider)
return Convert.ToUInt32(CalcNLimitAverage(
Convert.ToDouble(UInt32.MinValue),
Convert.ToDouble(UInt32.MaxValue), provider)) ;
} //ToUInt32
public UInt64 ToUInt64(IFormatProvider provider)
// The Double conversion rounds UInt64.MaxValue to an invalid
// UInt64 value, so the following limit must be used.
return Convert.ToUInt64(CalcNLimitAverage(0, 1.95E+19,
provider)) ;
} //ToUInt64
public Object ToType(Type conversionType, IFormatProvider provider)
return Convert.ChangeType((System.Double)Average(
GetAverageInfo(provider).get_TypeOfAverage()), conversionType) ;
} //ToType
public String ToString(IFormatProvider provider)
int avgType = GetAverageInfo(provider).get_TypeOfAverage();
return String.Format("( {0}: {1} )", (Int32)avgType,
((System.Double)Average(avgType)).ToString("G10"));
} //ToString
} //DataSet
class IConvertibleProviderDemo
// Display a DataSet with three different format providers.
public static void DisplayDataSet(DataSet ds)
throws InvalidOperationException
String fmt = "{0,-12}{1,20}{2,20}{3,20}";
AverageInfo median =
new AverageInfo(AverageType.Median);
AverageInfo geMean = new AverageInfo(AverageType.GeometricMean);
// Display the dataset elements.
if ( ds.get_Count() & 0
Console.Write("\nDataSet: [{0}", (System.Double)ds.get_Item( 0));
for(int iX=1; iX & ds.get_Count(); iX++) {
Console.Write(", {0}",(System.Double) ds.get_Item( iX));
Console.WriteLine("]\n");
Console.WriteLine(fmt, new Object[] { "Convert.", "Default",
"Geometric Mean", "Median" });
Console.WriteLine(fmt, new Object[] { "--------", "-------",
"--------------", "------" });
Console.WriteLine(fmt, new Object[] { "ToBoolean",
(System.Boolean)Convert.ToBoolean(ds, null),
(System.Boolean)Convert.ToBoolean(ds, geMean),
(System.Boolean)Convert.ToBoolean(ds, median) });
Console.WriteLine(fmt, new Object[] { "ToByte",
(Convert.ToString(Convert.ToByte(ds, null))),
(Convert.ToString(Convert.ToByte(ds, geMean))),
(Convert.ToString(Convert.ToByte(ds, median))) });
Console.WriteLine(fmt, new Object[] { "ToChar",
(Char)Convert.ToChar(ds, null),
(Char)Convert.ToChar(ds, geMean),
(Char)Convert.ToChar(ds, median) });
Console.WriteLine("{0,-12}{1,20:yyyy-MM-dd HH:mm:ss}"
+ "{2,20:yyyy-MM-dd HH:mm:ss}{3,20:yyyy-MM-dd HH:mm:ss}",
new Object[] { "ToDateTime", Convert.ToDateTime(ds, null),
Convert.ToDateTime(ds, geMean),
Convert.ToDateTime(ds, median) });
Console.WriteLine(fmt, new Object[] { "ToDecimal",
Convert.ToDecimal(ds, null), Convert.ToDecimal(ds, geMean),
Convert.ToDecimal(ds, median) });
Console.WriteLine(fmt, new Object[] { "ToDouble",
(System.Double)Convert.ToDouble(ds, null),
(System.Double)Convert.ToDouble(ds, geMean),
(System.Double)Convert.ToDouble(ds, median) });
Console.WriteLine(fmt, new Object[] { "ToInt16",
(System.Int16)Convert.ToInt16(ds, null),
(System.Int16)Convert.ToInt16(ds, geMean),
(System.Int16)Convert.ToInt16(ds, median) });
Console.WriteLine(fmt, new Object[] { "ToInt32",
(System.Int32)Convert.ToInt32(ds, null),
(System.Int32)Convert.ToInt32(ds, geMean),
(System.Int32)Convert.ToInt32(ds, median) });
Console.WriteLine(fmt, new Object[] { "ToInt64",
(System.Int64)Convert.ToInt64(ds, null),
(System.Int64)Convert.ToInt64(ds, geMean),
(System.Int64)Convert.ToInt64(ds, median) });
Console.WriteLine(fmt, new Object[] { "ToSByte",
(System.SByte)Convert.ToSByte(ds, null),
(System.SByte)Convert.ToSByte(ds, geMean),
(System.SByte)Convert.ToSByte(ds, median) });
Console.WriteLine(fmt, new Object[] { "ToSingle",
new Decimal(Convert.ToSingle(ds, null)),
new Decimal(Convert.ToSingle(ds, geMean)),
new Decimal(Convert.ToSingle(ds, median) )});
Console.WriteLine(fmt, new Object[] { "ToUInt16",
Convert.ToUInt16(ds, null),
Convert.ToUInt16(ds, geMean),
Convert.ToUInt16(ds, median)});
Console.WriteLine(fmt, new Object[] { "ToUInt32",
Convert.ToUInt32(ds, null),
Convert.ToUInt32(ds, geMean),
Convert.ToUInt32(ds, median)});
Console.WriteLine(fmt, new Object[] { "ToUInt64",
Convert.ToUInt64(ds, null),
Convert.ToUInt64(ds, geMean),
Convert.ToUInt64(ds, median)});
} //DisplayDataSet
public static void main(String[] args) throws InvalidOperationException
Console.WriteLine(("This example of "
+ "the Convert.ToXXX( object, IFormatProvider ) methods "
+ "\ngenerates the following output. The example "
+ "displays the values \nreturned by the methods, "
+ "using several IFormatProvider objects.\n"));
DataSet ds1 = new DataSet(new double[] { 10.5, 22.2, 45.9, 88.7,
156.05, 297.6 });
DisplayDataSet(ds1);
DataSet ds2 = new DataSet(new double[] { , 9999.5,
DisplayDataSet(ds2);
} //IConvertibleProviderDemo
This example of the Convert.ToXXX( object, IFormatProvider ) methods
generates the following output. The example displays the values
returned by the methods, using several IFormatProvider objects.
DataSet: [10.5, 22.2, 45.9, 88.7, 156.05, 297.6]
Geometric Mean
--------------
ToDateTime
DataSet: [, 0]
Geometric Mean
--------------
ToDateTime
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360
.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 。
支援版本:3.5、3.0、2.0、1.1、1.0支援版本:3.5、2.0、1.0支援版本:2.0、1.0
您對此內容的意見反應十分重要。請告訴我們您的想法。
其他意見反應?
剩餘 1500 個字元
我們非常感謝您提供的意見反應。
開發人員中心

我要回帖

更多关于 pptconverttodoc 的文章

 

随机推荐