Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / clr / src / BCL / System / UInt64.cs / 1 / UInt64.cs
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
/*============================================================
**
** Class: UInt64
**
** Purpose: This class will encapsulate an unsigned long and
** provide an Object representation of it.
**
**
===========================================================*/
namespace System {
using System.Globalization;
using System;
using System.Runtime.InteropServices;
// Wrapper for unsigned 64 bit integers.
[Serializable, CLSCompliant(false), System.Runtime.InteropServices.StructLayout(LayoutKind.Sequential)]
[System.Runtime.InteropServices.ComVisible(true)]
public struct UInt64 : IComparable, IFormattable, IConvertible
#if GENERICS_WORK
, IComparable, IEquatable
#endif
{
private ulong m_value;
public const ulong MaxValue = (ulong) 0xffffffffffffffffL;
public const ulong MinValue = 0x0;
// Compares this object to another object, returning an integer that
// indicates the relationship.
// Returns a value less than zero if this object
// null is considered to be less than any instance.
// If object is not of type UInt64, this method throws an ArgumentException.
//
public int CompareTo(Object value) {
if (value == null) {
return 1;
}
if (value is UInt64) {
// Need to use compare because subtraction will wrap
// to positive for very large neg numbers, etc.
ulong i = (ulong)value;
if (m_value < i) return -1;
if (m_value > i) return 1;
return 0;
}
throw new ArgumentException (Environment.GetResourceString("Arg_MustBeUInt64"));
}
public int CompareTo(UInt64 value) {
// Need to use compare because subtraction will wrap
// to positive for very large neg numbers, etc.
if (m_value < value) return -1;
if (m_value > value) return 1;
return 0;
}
public override bool Equals(Object obj) {
if (!(obj is UInt64)) {
return false;
}
return m_value == ((UInt64)obj).m_value;
}
public bool Equals(UInt64 obj)
{
return m_value == obj;
}
// The value of the lower 32 bits XORed with the uppper 32 bits.
public override int GetHashCode() {
return ((int)m_value) ^ (int)(m_value >> 32);
}
public override String ToString() {
return Number.FormatUInt64(m_value, null, NumberFormatInfo.CurrentInfo);
}
public String ToString(IFormatProvider provider) {
return Number.FormatUInt64(m_value, null, NumberFormatInfo.GetInstance(provider));
}
public String ToString(String format) {
return Number.FormatUInt64(m_value, format, NumberFormatInfo.CurrentInfo);
}
public String ToString(String format, IFormatProvider provider) {
return Number.FormatUInt64(m_value, format, NumberFormatInfo.GetInstance(provider));
}
[CLSCompliant(false)]
public static ulong Parse(String s) {
return Number.ParseUInt64(s, NumberStyles.Integer, NumberFormatInfo.CurrentInfo);
}
[CLSCompliant(false)]
public static ulong Parse(String s, NumberStyles style) {
NumberFormatInfo.ValidateParseStyleInteger(style);
return Number.ParseUInt64(s, style, NumberFormatInfo.CurrentInfo);
}
[CLSCompliant(false)]
public static ulong Parse(string s, IFormatProvider provider) {
return Number.ParseUInt64(s, NumberStyles.Integer, NumberFormatInfo.GetInstance(provider));
}
[CLSCompliant(false)]
public static ulong Parse(String s, NumberStyles style, IFormatProvider provider) {
NumberFormatInfo.ValidateParseStyleInteger(style);
return Number.ParseUInt64(s, style, NumberFormatInfo.GetInstance(provider));
}
[CLSCompliant(false)]
public static Boolean TryParse(String s, out UInt64 result) {
return Number.TryParseUInt64(s, NumberStyles.Integer, NumberFormatInfo.CurrentInfo, out result);
}
[CLSCompliant(false)]
public static Boolean TryParse(String s, NumberStyles style, IFormatProvider provider, out UInt64 result) {
NumberFormatInfo.ValidateParseStyleInteger(style);
return Number.TryParseUInt64(s, style, NumberFormatInfo.GetInstance(provider), out result);
}
//
// IValue implementation
//
public TypeCode GetTypeCode() {
return TypeCode.UInt64;
}
///
bool IConvertible.ToBoolean(IFormatProvider provider) {
return Convert.ToBoolean(m_value);
}
///
char IConvertible.ToChar(IFormatProvider provider) {
return Convert.ToChar(m_value);
}
///
sbyte IConvertible.ToSByte(IFormatProvider provider) {
return Convert.ToSByte(m_value);
}
///
byte IConvertible.ToByte(IFormatProvider provider) {
return Convert.ToByte(m_value);
}
///
short IConvertible.ToInt16(IFormatProvider provider) {
return Convert.ToInt16(m_value);
}
///
ushort IConvertible.ToUInt16(IFormatProvider provider) {
return Convert.ToUInt16(m_value);
}
///
int IConvertible.ToInt32(IFormatProvider provider) {
return Convert.ToInt32(m_value);
}
///
uint IConvertible.ToUInt32(IFormatProvider provider) {
return Convert.ToUInt32(m_value);
}
///
long IConvertible.ToInt64(IFormatProvider provider) {
return Convert.ToInt64(m_value);
}
///
ulong IConvertible.ToUInt64(IFormatProvider provider) {
return m_value;
}
///
float IConvertible.ToSingle(IFormatProvider provider) {
return Convert.ToSingle(m_value);
}
///
double IConvertible.ToDouble(IFormatProvider provider) {
return Convert.ToDouble(m_value);
}
///
Decimal IConvertible.ToDecimal(IFormatProvider provider) {
return Convert.ToDecimal(m_value);
}
///
DateTime IConvertible.ToDateTime(IFormatProvider provider) {
throw new InvalidCastException(String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("InvalidCast_FromTo"), "UInt64", "DateTime"));
}
///
Object IConvertible.ToType(Type type, IFormatProvider provider) {
return Convert.DefaultToType((IConvertible)this, type, provider);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
/*============================================================
**
** Class: UInt64
**
** Purpose: This class will encapsulate an unsigned long and
** provide an Object representation of it.
**
**
===========================================================*/
namespace System {
using System.Globalization;
using System;
using System.Runtime.InteropServices;
// Wrapper for unsigned 64 bit integers.
[Serializable, CLSCompliant(false), System.Runtime.InteropServices.StructLayout(LayoutKind.Sequential)]
[System.Runtime.InteropServices.ComVisible(true)]
public struct UInt64 : IComparable, IFormattable, IConvertible
#if GENERICS_WORK
, IComparable, IEquatable
#endif
{
private ulong m_value;
public const ulong MaxValue = (ulong) 0xffffffffffffffffL;
public const ulong MinValue = 0x0;
// Compares this object to another object, returning an integer that
// indicates the relationship.
// Returns a value less than zero if this object
// null is considered to be less than any instance.
// If object is not of type UInt64, this method throws an ArgumentException.
//
public int CompareTo(Object value) {
if (value == null) {
return 1;
}
if (value is UInt64) {
// Need to use compare because subtraction will wrap
// to positive for very large neg numbers, etc.
ulong i = (ulong)value;
if (m_value < i) return -1;
if (m_value > i) return 1;
return 0;
}
throw new ArgumentException (Environment.GetResourceString("Arg_MustBeUInt64"));
}
public int CompareTo(UInt64 value) {
// Need to use compare because subtraction will wrap
// to positive for very large neg numbers, etc.
if (m_value < value) return -1;
if (m_value > value) return 1;
return 0;
}
public override bool Equals(Object obj) {
if (!(obj is UInt64)) {
return false;
}
return m_value == ((UInt64)obj).m_value;
}
public bool Equals(UInt64 obj)
{
return m_value == obj;
}
// The value of the lower 32 bits XORed with the uppper 32 bits.
public override int GetHashCode() {
return ((int)m_value) ^ (int)(m_value >> 32);
}
public override String ToString() {
return Number.FormatUInt64(m_value, null, NumberFormatInfo.CurrentInfo);
}
public String ToString(IFormatProvider provider) {
return Number.FormatUInt64(m_value, null, NumberFormatInfo.GetInstance(provider));
}
public String ToString(String format) {
return Number.FormatUInt64(m_value, format, NumberFormatInfo.CurrentInfo);
}
public String ToString(String format, IFormatProvider provider) {
return Number.FormatUInt64(m_value, format, NumberFormatInfo.GetInstance(provider));
}
[CLSCompliant(false)]
public static ulong Parse(String s) {
return Number.ParseUInt64(s, NumberStyles.Integer, NumberFormatInfo.CurrentInfo);
}
[CLSCompliant(false)]
public static ulong Parse(String s, NumberStyles style) {
NumberFormatInfo.ValidateParseStyleInteger(style);
return Number.ParseUInt64(s, style, NumberFormatInfo.CurrentInfo);
}
[CLSCompliant(false)]
public static ulong Parse(string s, IFormatProvider provider) {
return Number.ParseUInt64(s, NumberStyles.Integer, NumberFormatInfo.GetInstance(provider));
}
[CLSCompliant(false)]
public static ulong Parse(String s, NumberStyles style, IFormatProvider provider) {
NumberFormatInfo.ValidateParseStyleInteger(style);
return Number.ParseUInt64(s, style, NumberFormatInfo.GetInstance(provider));
}
[CLSCompliant(false)]
public static Boolean TryParse(String s, out UInt64 result) {
return Number.TryParseUInt64(s, NumberStyles.Integer, NumberFormatInfo.CurrentInfo, out result);
}
[CLSCompliant(false)]
public static Boolean TryParse(String s, NumberStyles style, IFormatProvider provider, out UInt64 result) {
NumberFormatInfo.ValidateParseStyleInteger(style);
return Number.TryParseUInt64(s, style, NumberFormatInfo.GetInstance(provider), out result);
}
//
// IValue implementation
//
public TypeCode GetTypeCode() {
return TypeCode.UInt64;
}
///
bool IConvertible.ToBoolean(IFormatProvider provider) {
return Convert.ToBoolean(m_value);
}
///
char IConvertible.ToChar(IFormatProvider provider) {
return Convert.ToChar(m_value);
}
///
sbyte IConvertible.ToSByte(IFormatProvider provider) {
return Convert.ToSByte(m_value);
}
///
byte IConvertible.ToByte(IFormatProvider provider) {
return Convert.ToByte(m_value);
}
///
short IConvertible.ToInt16(IFormatProvider provider) {
return Convert.ToInt16(m_value);
}
///
ushort IConvertible.ToUInt16(IFormatProvider provider) {
return Convert.ToUInt16(m_value);
}
///
int IConvertible.ToInt32(IFormatProvider provider) {
return Convert.ToInt32(m_value);
}
///
uint IConvertible.ToUInt32(IFormatProvider provider) {
return Convert.ToUInt32(m_value);
}
///
long IConvertible.ToInt64(IFormatProvider provider) {
return Convert.ToInt64(m_value);
}
///
ulong IConvertible.ToUInt64(IFormatProvider provider) {
return m_value;
}
///
float IConvertible.ToSingle(IFormatProvider provider) {
return Convert.ToSingle(m_value);
}
///
double IConvertible.ToDouble(IFormatProvider provider) {
return Convert.ToDouble(m_value);
}
///
Decimal IConvertible.ToDecimal(IFormatProvider provider) {
return Convert.ToDecimal(m_value);
}
///
DateTime IConvertible.ToDateTime(IFormatProvider provider) {
throw new InvalidCastException(String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("InvalidCast_FromTo"), "UInt64", "DateTime"));
}
///
Object IConvertible.ToType(Type type, IFormatProvider provider) {
return Convert.DefaultToType((IConvertible)this, type, provider);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HtmlTitle.cs
- SiteMapNodeItem.cs
- EndpointAddressElementBase.cs
- EdgeProfileValidation.cs
- Grant.cs
- FlowDocumentPageViewerAutomationPeer.cs
- UserInitiatedNavigationPermission.cs
- DiagnosticTraceRecords.cs
- OpenTypeLayout.cs
- EventSinkActivity.cs
- ThreadSafeList.cs
- SHA384Managed.cs
- ViewSimplifier.cs
- WindowsFormsLinkLabel.cs
- WebPartAuthorizationEventArgs.cs
- StringAttributeCollection.cs
- SslStreamSecurityBindingElement.cs
- SimplePropertyEntry.cs
- DiscoveryServerProtocol.cs
- AdornedElementPlaceholder.cs
- BaseServiceProvider.cs
- ApplicationSettingsBase.cs
- PersistenceProvider.cs
- ConstructorExpr.cs
- SamlConditions.cs
- XPathNodePointer.cs
- CreateSequence.cs
- QilLiteral.cs
- PhysicalFontFamily.cs
- X509SecurityTokenProvider.cs
- PrimitiveType.cs
- EdmComplexTypeAttribute.cs
- SubMenuStyleCollection.cs
- RepeatBehavior.cs
- Menu.cs
- AddInController.cs
- PropertyHelper.cs
- GridViewColumnCollection.cs
- FormParameter.cs
- EntityModelSchemaGenerator.cs
- WebPartVerbsEventArgs.cs
- ProviderUtil.cs
- AnimationException.cs
- ValidatorCompatibilityHelper.cs
- Speller.cs
- PolyLineSegment.cs
- HandleExceptionArgs.cs
- UnsafeNativeMethods.cs
- DataRow.cs
- IdnElement.cs
- KeyInfo.cs
- SimpleBitVector32.cs
- LayoutExceptionEventArgs.cs
- MemberRelationshipService.cs
- XmlILIndex.cs
- XdrBuilder.cs
- NetworkInformationException.cs
- ListViewDeleteEventArgs.cs
- EdmSchemaError.cs
- ResourceContainer.cs
- Drawing.cs
- ParseChildrenAsPropertiesAttribute.cs
- QilNode.cs
- RichTextBoxAutomationPeer.cs
- Context.cs
- WebPartAddingEventArgs.cs
- CreateUserWizardDesigner.cs
- FormsAuthenticationCredentials.cs
- GifBitmapEncoder.cs
- TableItemPatternIdentifiers.cs
- Debugger.cs
- ZipIOExtraFieldPaddingElement.cs
- Walker.cs
- EventHandlerService.cs
- HtmlInputHidden.cs
- SqlCacheDependencySection.cs
- BindingListCollectionView.cs
- InboundActivityHelper.cs
- ClientFormsAuthenticationCredentials.cs
- CultureTableRecord.cs
- ComponentManagerBroker.cs
- UrlParameterWriter.cs
- XmlWrappingReader.cs
- StatusBarPanelClickEvent.cs
- LinkedResource.cs
- ToolStrip.cs
- TheQuery.cs
- SrgsElementFactory.cs
- FixedSOMLineCollection.cs
- FormViewInsertedEventArgs.cs
- EntityViewContainer.cs
- ThreadSafeList.cs
- PolicyStatement.cs
- EntityClassGenerator.cs
- UnhandledExceptionEventArgs.cs
- SerialPort.cs
- GenericTypeParameterBuilder.cs
- WindowsProgressbar.cs
- Filter.cs
- ErrorReporting.cs