Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataWeb / Design / system / Data / Common / Utils / StringUtil.cs / 1 / StringUtil.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using System.Text; using System.Globalization; using System.Diagnostics; namespace System.Data.Common.Utils { // This class provides some useful string utilities, e.g., converting a // list to string. internal static class StringUtil { ////// This private static method checks a string to make sure that it is not empty. /// Comparing with String.Empty is not sufficient since a string with nothing /// but white space isn't considered "empty" by that rationale. /// internal static bool IsNullOrEmptyOrWhiteSpace(string value) { return IsNullOrEmptyOrWhiteSpace(value, 0); } internal static bool IsNullOrEmptyOrWhiteSpace(string value, int offset) { // don't use Trim(), which will copy the string, which may be large, just to test for emptyness //return String.IsNullOrEmpty(value) || String.IsNullOrEmpty(value.Trim()); if (null != value) { for(int i = offset; i < value.Length; ++i) { if (!Char.IsWhiteSpace(value[i])) { return false; } } } return true; } // separate implementation from IsNullOrEmptyOrWhiteSpace(string, int) because that one will // pick up the jit optimization to avoid boundary checks and the this won't is unknown (most likely not) internal static bool IsNullOrEmptyOrWhiteSpace(string value, int offset, int length) { // don't use Trim(), which will copy the string, which may be large, just to test for emptyness //return String.IsNullOrEmpty(value) || String.IsNullOrEmpty(value.Trim()); if (null != value) { length = Math.Min(value.Length, length); for(int i = offset; i < length; ++i) { if (!Char.IsWhiteSpace(value[i])) { return false; } } } return true; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using System.Text; using System.Globalization; using System.Diagnostics; namespace System.Data.Common.Utils { // This class provides some useful string utilities, e.g., converting a // list to string. internal static class StringUtil { ////// This private static method checks a string to make sure that it is not empty. /// Comparing with String.Empty is not sufficient since a string with nothing /// but white space isn't considered "empty" by that rationale. /// internal static bool IsNullOrEmptyOrWhiteSpace(string value) { return IsNullOrEmptyOrWhiteSpace(value, 0); } internal static bool IsNullOrEmptyOrWhiteSpace(string value, int offset) { // don't use Trim(), which will copy the string, which may be large, just to test for emptyness //return String.IsNullOrEmpty(value) || String.IsNullOrEmpty(value.Trim()); if (null != value) { for(int i = offset; i < value.Length; ++i) { if (!Char.IsWhiteSpace(value[i])) { return false; } } } return true; } // separate implementation from IsNullOrEmptyOrWhiteSpace(string, int) because that one will // pick up the jit optimization to avoid boundary checks and the this won't is unknown (most likely not) internal static bool IsNullOrEmptyOrWhiteSpace(string value, int offset, int length) { // don't use Trim(), which will copy the string, which may be large, just to test for emptyness //return String.IsNullOrEmpty(value) || String.IsNullOrEmpty(value.Trim()); if (null != value) { length = Math.Min(value.Length, length); for(int i = offset; i < length; ++i) { if (!Char.IsWhiteSpace(value[i])) { return false; } } } return true; } } } // 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
- AssemblyGen.cs
- SystemIPInterfaceProperties.cs
- PasswordRecovery.cs
- TraceSection.cs
- TypeConverterHelper.cs
- EventSetter.cs
- DbSourceCommand.cs
- RSAOAEPKeyExchangeFormatter.cs
- ResXResourceReader.cs
- WindowsUpDown.cs
- validationstate.cs
- WinFormsSecurity.cs
- UIPermission.cs
- MetadataArtifactLoaderResource.cs
- ControlIdConverter.cs
- EventHandlers.cs
- RegisteredExpandoAttribute.cs
- StylusPoint.cs
- Pair.cs
- Transform.cs
- DirectionalLight.cs
- RoleManagerSection.cs
- ILGenerator.cs
- DataKey.cs
- LaxModeSecurityHeaderElementInferenceEngine.cs
- MobileDeviceCapabilitiesSectionHandler.cs
- TimeSpanMinutesConverter.cs
- TemplateBindingExtension.cs
- OracleNumber.cs
- Predicate.cs
- PresentationSource.cs
- DefaultTextStoreTextComposition.cs
- EraserBehavior.cs
- XmlDigitalSignatureProcessor.cs
- ThreadExceptionDialog.cs
- EndpointNameMessageFilter.cs
- BinaryMethodMessage.cs
- ApplicationId.cs
- SmiContextFactory.cs
- MutexSecurity.cs
- SqlFileStream.cs
- SignatureDescription.cs
- precedingquery.cs
- TreeViewTemplateSelector.cs
- FilteredDataSetHelper.cs
- ContextMenu.cs
- BamlResourceDeserializer.cs
- KeyProperty.cs
- Label.cs
- ObjectItemCollectionAssemblyCacheEntry.cs
- AgileSafeNativeMemoryHandle.cs
- BinaryParser.cs
- ObjectDataSourceView.cs
- ApplicationServicesHostFactory.cs
- BuildManagerHost.cs
- ByteFacetDescriptionElement.cs
- DebugTracing.cs
- PathTooLongException.cs
- ButtonFieldBase.cs
- UdpMessageProperty.cs
- ProxyDataContractResolver.cs
- OdbcCommand.cs
- AnimationException.cs
- BuildManagerHost.cs
- FormatException.cs
- Collection.cs
- IImplicitResourceProvider.cs
- Trace.cs
- HttpAsyncResult.cs
- XmlValidatingReader.cs
- WindowsFormsSectionHandler.cs
- PointCollection.cs
- VerificationAttribute.cs
- LambdaCompiler.Binary.cs
- SchemaImporterExtensionElement.cs
- SqlDataSourceAdvancedOptionsForm.cs
- ToolTipAutomationPeer.cs
- RepeatBehaviorConverter.cs
- PixelShader.cs
- StylusCaptureWithinProperty.cs
- FixedPageStructure.cs
- UIElementCollection.cs
- SelectionRangeConverter.cs
- StaticFileHandler.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- Matrix3D.cs
- VirtualPathData.cs
- ImageMetadata.cs
- LayoutEvent.cs
- WorkflowViewService.cs
- MouseOverProperty.cs
- XamlVector3DCollectionSerializer.cs
- Rectangle.cs
- RangeValidator.cs
- InputProcessorProfiles.cs
- ListDictionaryInternal.cs
- Freezable.cs
- SimpleMailWebEventProvider.cs
- Floater.cs
- DefaultValueConverter.cs