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
- ResourceType.cs
- DataBindingHandlerAttribute.cs
- HtmlImageAdapter.cs
- ConnectionOrientedTransportChannelListener.cs
- ColorConvertedBitmap.cs
- COM2ExtendedTypeConverter.cs
- QueryTask.cs
- BufferModeSettings.cs
- DSASignatureFormatter.cs
- HeaderedItemsControl.cs
- WorkflowValidationFailedException.cs
- IsolatedStoragePermission.cs
- QilLiteral.cs
- SamlNameIdentifierClaimResource.cs
- TypeBuilderInstantiation.cs
- PostBackOptions.cs
- List.cs
- FillRuleValidation.cs
- FontConverter.cs
- PackageDigitalSignature.cs
- Literal.cs
- BaseCAMarshaler.cs
- XmlObjectSerializerWriteContextComplex.cs
- XmlNamespaceDeclarationsAttribute.cs
- TcpClientChannel.cs
- BinaryUtilClasses.cs
- ValidationSummary.cs
- MemberInfoSerializationHolder.cs
- SchemaCollectionCompiler.cs
- BinaryWriter.cs
- PropertyCondition.cs
- TableRow.cs
- ListViewItemSelectionChangedEvent.cs
- Int32AnimationUsingKeyFrames.cs
- WorkflowApplicationAbortedEventArgs.cs
- MatrixCamera.cs
- DockPanel.cs
- EDesignUtil.cs
- SqlConnectionStringBuilder.cs
- EventHandlersStore.cs
- XPathEmptyIterator.cs
- ConfigurationValues.cs
- PolicyException.cs
- MDIClient.cs
- PeerSecurityManager.cs
- DataContractJsonSerializerOperationFormatter.cs
- ListBindableAttribute.cs
- URLAttribute.cs
- Point3DKeyFrameCollection.cs
- EncryptedKey.cs
- VirtualPathUtility.cs
- TabletDevice.cs
- Debug.cs
- GraphicsPathIterator.cs
- RemotingServices.cs
- CompilerLocalReference.cs
- DeclaredTypeValidatorAttribute.cs
- DiscardableAttribute.cs
- PointConverter.cs
- IdentityManager.cs
- ToolStripDropDownButton.cs
- QueryMath.cs
- DeviceContext.cs
- ImmutableAssemblyCacheEntry.cs
- SqlServices.cs
- InvalidOleVariantTypeException.cs
- httpserverutility.cs
- Glyph.cs
- HttpModuleCollection.cs
- PeerDefaultCustomResolverClient.cs
- Solver.cs
- xmlNames.cs
- XPathDocumentBuilder.cs
- XmlWriterTraceListener.cs
- Label.cs
- DataGridViewCellCollection.cs
- EncryptedType.cs
- MimePart.cs
- RegexCompilationInfo.cs
- TimeZone.cs
- HtmlProps.cs
- DataGridViewAdvancedBorderStyle.cs
- Deserializer.cs
- EditorZoneDesigner.cs
- ArgumentException.cs
- DesignParameter.cs
- MessageEncoderFactory.cs
- OutputCacheProfileCollection.cs
- BlobPersonalizationState.cs
- ComplusEndpointConfigContainer.cs
- FormatException.cs
- AssemblyHelper.cs
- GridViewCancelEditEventArgs.cs
- IndexedSelectQueryOperator.cs
- SpellerHighlightLayer.cs
- SmtpReplyReader.cs
- HtmlInputPassword.cs
- PictureBox.cs
- EventMappingSettingsCollection.cs
- SiteMapNodeItemEventArgs.cs