/// <summary> /// Compares this instance to the <paramref name="comparand"/> using the specified comparison options and culture-specific information to influence the comparison, and returns an integer that indicates the relationship of the two strings to each other in the sort order. /// </summary> /// <param name="comparand">The substring to compare with this instance.</param> /// <param name="options">Options to use when performing the comparison (such as ignoring case or symbols).</param> /// <param name="culture">The culture that supplies culture-specific comparison information. <c>null</c> is interpreted as the current culture.</param> /// <returns>A 32-bit signed integer that indicates the lexical relationship between the two substrings.</returns> public int CompareTo( Substring comparand, CompareOptions options = CompareOptions.None, CultureInfo culture = null ) { if( culture.NullReference() ) culture = CultureInfo.CurrentCulture; return culture.CompareInfo.Compare(this.Origin, this.StartIndex, this.Length, comparand.Origin, comparand.StartIndex, comparand.Length, options); }
/// <summary> /// Determines the <see cref="CsvFormat"/> based on the specified culture. /// </summary> /// <param name="culture">The culture to use; or <c>null</c> for the current culture.</param> /// <returns>The <see cref="CsvFormat"/> for the culture.</returns> public static CsvFormat ChooseFor( CultureInfo culture = null ) { if( culture.NullReference() ) culture = CultureInfo.CurrentCulture; if( string.Equals(culture.NumberFormat.NumberDecimalSeparator, ".", StringComparison.Ordinal) ) return CsvFormat.International; else return CsvFormat.Continental; }