public void PathStringTest() { PathString?pathStr; bool boolVal; string? str; PathString[]? arrayOfPathStr; FileSystemEntryEnumerator?entries; DriveInfo? driveInfo; DirectoryInfo? dinfo; FileInfo? finfo; FileSystemInfo?fsinfo; Uri uri; int num; PathString path = PathStringPool.Get(); var sinfo = new SerializationInfo(typeof(PathString), new FormatterConverter()); pathStr = path.BasePath; boolVal = path.IsRoot; boolVal = path.IsDrive; boolVal = path.IsDirectory; boolVal = path.IsFile; boolVal = path.Exists; pathStr = path.Combine(); pathStr = path.Combine("aa"); pathStr = path.Combine("aa", "bb"); pathStr = path.Combine("aa", "bb", "cc"); pathStr = path.Combine("aa", "bb", "cc", "dd"); pathStr = path.Combine("aa", "bb", "cc", "dd", "ee"); pathStr = path.Combine(Array.Empty <string>()); pathStr = path.GetDirectoryName(); str = path.GetFileName(); str = path.GetFileNameWithoutExtension(); str = path.GetExtension(); pathStr = path.ChangeFileName("xyz"); pathStr = path.ChangeExtension("0"); pathStr = path.EnsureNotFound(); pathStr = path.GetRootPath(); str = path.GetRelativePath(); str = path.GetRelativePath(path); arrayOfPathStr = path.GetEntryArray(); entries = path.GetEntries(); entries = path.GetEntries("*"); entries = path.GetEntries("*", SearchOption.TopDirectoryOnly); //entries = path.GetEntries("*", new EnumerationOptions()); driveInfo = path.GetDriveInfo(); dinfo = path.GetDirectoryInfo(); finfo = path.GetFileInfo(); fsinfo = path.GetFileSystemInfo(); str = path.GetOriginalString(); uri = path.AsUri(); str = path.ToString(); str = path.ToString(string.Empty); str = path.ToString(new EmptyFormatProvider()); str = path.ToString(string.Empty, new EmptyFormatProvider()); boolVal = path.Equals(new object()); boolVal = path.Equals(path); boolVal = path.Equals(string.Empty); num = path.CompareTo(new object()); num = path.CompareTo(path); num = path.CompareTo(string.Empty); num = path.GetHashCode(); pathStr = path + "123"; str = path - path; boolVal = path == PathStringPool.Get(); boolVal = path != PathStringPool.Get(); boolVal = path < PathStringPool.Get(); boolVal = path <= PathStringPool.Get(); boolVal = path > PathStringPool.Get(); boolVal = path >= PathStringPool.Get(); str = path; pathStr = ((PathString)("./aaa/bbb/ccc")); path.GetObjectData(sinfo, default); ISerializable serializable = path; IFormattable formattable = path; IEquatable <PathString> equatableA = path; IEquatable <string> equatableB = path; IComparable comparable = path; IComparable <PathString> comparableA = path; IComparable <string> comparableB = path; }