示例#1
0
 static char Slash(SlashMode slashMode)
 {
     return(slashMode switch {
         SlashMode.Backward => '\\',
         SlashMode.Forward => '/',
         _ => Path.DirectorySeparatorChar,
     });
示例#2
0
文件: NiceIO.cs 项目: mrvoorhe/NiceIO
        public string ToString(SlashMode slashMode)
        {
            if (_isRelative && _elements.Length == 0)
            {
                return(".");
            }

            var sb = new StringBuilder();

            if (_driveLetter != null)
            {
                sb.Append(_driveLetter);
                sb.Append(":");
            }
            if (!_isRelative)
            {
                sb.Append(Slash(slashMode));
            }
            var first = true;

            foreach (var element in _elements)
            {
                if (!first)
                {
                    sb.Append(Slash(slashMode));
                }

                sb.Append(element);
                first = false;
            }
            return(sb.ToString());
        }
示例#3
0
        static char Slash(SlashMode slashMode)
        {
            switch (slashMode)
            {
            case SlashMode.Backward:
                return('\\');

            case SlashMode.Forward:
                return('/');

            default:
                return(FileSystem.DirectorySeparatorChar);
            }
        }
示例#4
0
        public string ToString(SlashMode slashMode)
        {
            if (!_isInitialized)
            {
                return(null);
            }

            // Check if it's linux root /
            if (IsRoot && string.IsNullOrEmpty(_driveLetter))
            {
                return(Slash(slashMode).ToString());
            }

            if (_isRelative && _elements.Length == 0)
            {
                return(".");
            }

            var sb = new StringBuilder();

            if (_driveLetter != null)
            {
                sb.Append(_driveLetter);
                sb.Append(":");
            }
            if (!_isRelative)
            {
                sb.Append(Slash(slashMode));
            }
            var first = true;

            foreach (var element in _elements)
            {
                if (!first)
                {
                    sb.Append(Slash(slashMode));
                }

                sb.Append(element);
                first = false;
            }
            return(sb.ToString());
        }
示例#5
0
 public string InQuotes(SlashMode slashMode)
 {
     return("\"" + ToString(slashMode) + "\"");
 }
示例#6
0
 public static IEnumerable <string> InQuotes(this IEnumerable <NPath> self, SlashMode forward = SlashMode.Native)
 {
     return(self.Select(p => p.InQuotes(forward)));
 }
示例#7
0
 public static IEnumerable<string> InQuotes(this IEnumerable<NPath> self, SlashMode forward = SlashMode.Native)
 {
     return self.Select(p => p.InQuotes(forward));
 }
示例#8
0
 static char Slash(SlashMode slashMode)
 {
     switch (slashMode)
     {
         case SlashMode.Backward:
             return '\\';
         case SlashMode.Forward:
             return '/';
         default:
             return Path.DirectorySeparatorChar;
     }
 }
示例#9
0
        public string ToString(SlashMode slashMode)
        {
            var sb = new StringBuilder();
            if (_driveLetter != null)
            {
                sb.Append(_driveLetter);
                sb.Append(":");
            }
            if (!_isRelative)
                sb.Append(Slash(slashMode));
            var first = true;
            foreach (var element in _elements)
            {
                if (!first)
                    sb.Append(Slash(slashMode));

                sb.Append(element);
                first = false;
            }
            return sb.ToString();
        }
示例#10
0
 public string InQuotes(SlashMode slashMode)
 {
     return "\"" + ToString(slashMode) + "\"";
 }
示例#11
0
 internal string InQuotes(SlashMode slashMode)
 {
     return("\"" + ToString(slashMode) + "\"");
 }