src/DotNetCommon.Core/Extensions/StringExtensions.cs
(开头部分) 23KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using DotNetCommon;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.IO.Compression;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
using System.Text;
using System.Text.Json;
using System.Text.Json.Nodes;
using System.Text.RegularExpressions;
using System.Threading;
using System.Xml;
using System.Xml.Linq;
namespace DotNetCommon.Extensions
{
/// <summary>
/// <see cref="string"/> 的扩展类。
/// </summary>
public static class StringExtensions
{
/*
* window下 Path.GetInvalidFileNameChars() 返回41个无效字符,Path.GetInvalidPathChars() 返回36个无效字符
* linux下 Path.GetInvalidFileNameChars() 返回2个无效字符,Path.GetInvalidPathChars() 返回1个无效字符
* 所以,为了文件和路径命名更加安全,统一文件命名采用window下的41个无效字符、路径命名采用window下的36个无效字符!
*/
private static readonly char[] InvalidFileNameCharacters = new char[41] { '"', '<', '>', '|', '\0', '\u0001', '\u0002', '\u0003', '\u0004', '\u0005', '\u0006', '\a', '\b', '\t', '\n', '\v', '\f', '\r', '\u000e', '\u000f', '\u0010', '\u0011', '\u0012', '\u0013', '\u0014', '\u0015', '\u0016', '\u0017', '\u0018', '\u0019', '\u001a', '\u001b', '\u001c', '\u001d', '\u001e', '\u001f', ':', '*', '?', '\\', '/' };
private static readonly char[] InvalidPathCharacters = new char[36] { '"', '<', '>', '|', '\0', '\u0001', '\u0002', '\u0003', '\u0004', '\u0005', '\u0006', '\a', '\b', '\t', '\n', '\v', '\f', '\r', '\u000e', '\u000f', '\u0010', '\u0011', '\u0012', '\u0013', '\u0014', '\u0015', '\u0016', '\u0017', '\u0018', '\u0019', '\u001a', '\u001b', '\u001c', '\u001d', '\u001e', '\u001f' };
/// <summary>
/// string.Format 的简化方法
/// <example>
/// <para>示例:</para>
/// <code>
/// "{0} is {1}".Format("He","Tom");
/// //Output: "He is Tom"
/// </code>
/// </example>
/// </summary>
/// <param name="value"></param>
/// <param name="paras"><seealso cref="String.Format(string, object[])"/>的格式化参数</param>
/// <returns></returns>
public static string Format(this string value, params string[] paras)
{
if (value is null) return value;
return string.Format(value, paras);
}
/// <summary>
/// string.IsNullOrEmpty 的简化方法
/// </summary>
public static bool IsNullOrEmpty(this string value) => string.IsNullOrEmpty(value);
/// <summary>
/// string.IsNullOrEmpty 的简化方法(逆向)
后面还有 484 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
