Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- AudioSignalProblemOccurredEventArgs.cs
- XmlBoundElement.cs
- ListItem.cs
- WindowVisualStateTracker.cs
- ExpressionList.cs
- ParenthesizePropertyNameAttribute.cs
- StrongNameIdentityPermission.cs
- JsonDataContract.cs
- HTTPRemotingHandler.cs
- DataProviderNameConverter.cs
- EntityConnectionStringBuilder.cs
- SecurityTokenAttachmentMode.cs
- WebPartZoneBase.cs
- InstanceDataCollection.cs
- ValidationErrorEventArgs.cs
- GPPOINTF.cs
- shaperfactoryquerycachekey.cs
- MtomMessageEncodingElement.cs
- DesignerTextWriter.cs
- DrawingBrush.cs
- BoolExpressionVisitors.cs
- ContentElement.cs
- Nodes.cs
- TextMarkerSource.cs
- Point3D.cs
- TextElementAutomationPeer.cs
- TextBoxBaseDesigner.cs
- TriggerBase.cs
- AsyncOperation.cs
- Byte.cs
- AesManaged.cs
- StylusShape.cs
- QilXmlWriter.cs
- DataGridViewComboBoxEditingControl.cs
- OracleParameterCollection.cs
- DataDocumentXPathNavigator.cs
- Icon.cs
- InkCanvasFeedbackAdorner.cs
- WebControl.cs
- XPathItem.cs
- SerializationException.cs
- EntityDataSourceView.cs
- MenuItemStyle.cs
- DataTemplateKey.cs
- DataGridTextBox.cs
- DataListItemCollection.cs
- BindingManagerDataErrorEventArgs.cs
- PropertySourceInfo.cs
- Pointer.cs
- BasePattern.cs
- Guid.cs
- SqlDataSourceCache.cs
- InternalUserCancelledException.cs
- Attachment.cs
- XXXOnTypeBuilderInstantiation.cs
- SqlFunctions.cs
- exports.cs
- InvalidCastException.cs
- WinFormsSpinner.cs
- PropertyInfoSet.cs
- QilNode.cs
- ChangeConflicts.cs
- DetailsViewUpdateEventArgs.cs
- FaultConverter.cs
- MasterPage.cs
- PrePrepareMethodAttribute.cs
- formatstringdialog.cs
- RijndaelManaged.cs
- Ref.cs
- ExpressionLexer.cs
- altserialization.cs
- ToolStripControlHost.cs
- RequestBringIntoViewEventArgs.cs
- ResourceManager.cs
- PerformanceCounterPermissionAttribute.cs
- DateTimeConstantAttribute.cs
- Int64AnimationBase.cs
- XmlSchemaException.cs
- Inline.cs
- SafeReversePInvokeHandle.cs
- SystemIPGlobalProperties.cs
- Point3DAnimation.cs
- ImageButton.cs
- Wizard.cs
- SafeMILHandle.cs
- AutomationPatternInfo.cs
- LineBreakRecord.cs
- PageResolution.cs
- DbConnectionPoolGroupProviderInfo.cs
- PropertyValueChangedEvent.cs
- odbcmetadatacolumnnames.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- SparseMemoryStream.cs
- ProgressBarBrushConverter.cs
- WindowsStartMenu.cs
- TreeBuilderXamlTranslator.cs
- SolidBrush.cs
- XPathPatternBuilder.cs
- DependencyObjectType.cs
- CreationContext.cs