Fix IDE0057

This commit is contained in:
RoosterDragon
2023-04-05 19:12:33 +01:00
committed by Pavel Penev
parent 5254348819
commit 023d80b94d
42 changed files with 104 additions and 104 deletions

View File

@@ -36,11 +36,11 @@ namespace OpenRA.Mods.Common.Commands
{
if (message.StartsWith("/"))
{
var name = message.Substring(1).Split(' ')[0].ToLowerInvariant();
var name = message[1..].Split(' ')[0].ToLowerInvariant();
var command = Commands.FirstOrDefault(x => x.Key == name);
if (command.Value != null)
command.Value.InvokeCommand(name.ToLowerInvariant(), message.Substring(1 + name.Length).Trim());
command.Value.InvokeCommand(name.ToLowerInvariant(), message[(1 + name.Length)..].Trim());
else
TextNotificationsManager.Debug(Game.ModData.Translation.GetString(InvalidCommand, Translation.Arguments("name", name)));

View File

@@ -67,7 +67,7 @@ namespace OpenRA.Mods.Common.FileFormats
{
var comment = line.IndexOf(';');
if (comment >= 0)
line = line.Substring(0, comment);
line = line[..comment];
line = line.Trim();
if (line.Length == 0)
@@ -78,8 +78,8 @@ namespace OpenRA.Mods.Common.FileFormats
var eq = line.IndexOf('=');
if (eq >= 0)
{
key = line.Substring(0, eq).Trim();
value = line.Substring(eq + 1, line.Length - eq - 1).Trim();
key = line[..eq].Trim();
value = line[(eq + 1)..].Trim();
}
if (currentSection == null)

View File

@@ -40,7 +40,7 @@ namespace OpenRA.Mods.Common.Lint
var checkWidgetFields = modData.ObjectCreator.GetTypesImplementing<Widget>()
.SelectMany(w => Utility.GetFields(w)
.Where(f => f.FieldType == typeof(HotkeyReference))
.Select(f => (w.Name.Substring(0, w.Name.Length - 6), f.Name)))
.Select(f => (w.Name[..^6], f.Name)))
.ToArray();
var customLintMethods = new Dictionary<string, List<string>>();
@@ -52,7 +52,7 @@ namespace OpenRA.Mods.Common.Lint
var p = m.GetParameters();
if (p.Length == 3 && p[0].ParameterType == typeof(MiniYamlNode) && p[1].ParameterType == typeof(Action<string>)
&& p[2].ParameterType == typeof(Action<string>))
customLintMethods.GetOrAdd(w.Name.Substring(0, w.Name.Length - 6)).Add(m.Name);
customLintMethods.GetOrAdd(w.Name[..^6]).Add(m.Name);
}
}

View File

@@ -38,7 +38,7 @@ namespace OpenRA.Mods.Common.Lint
{
var name = key.Split('@')[0];
if (name.StartsWith("-", StringComparison.Ordinal))
return name.Substring(1);
return name[1..];
return name;
}

View File

@@ -39,7 +39,7 @@ namespace OpenRA.Mods.Common.Lint
{
var name = key.Split('@')[0];
if (name.StartsWith("-", StringComparison.Ordinal))
return name.Substring(1);
return name[1..];
return name;
}

View File

@@ -104,7 +104,7 @@ namespace OpenRA.Mods.Common.Traits.Render
string GetName(string key)
{
return key.Substring(prefix.Length);
return key[prefix.Length..];
}
public void PrerequisitesAvailable(string key)

View File

@@ -240,7 +240,7 @@ namespace OpenRA.Mods.Common.Traits.Render
{
if (sequence.StartsWith(s.Prefix, StringComparison.Ordinal))
{
sequence = sequence.Substring(s.Prefix.Length);
sequence = sequence[s.Prefix.Length..];
break;
}
}

View File

@@ -56,7 +56,7 @@ namespace OpenRA.Mods.Common.Traits.Render
name = self.Owner.PlayerName;
if (name.Length > info.MaxLength)
name = name.Substring(0, info.MaxLength);
name = name[..info.MaxLength];
}
protected override IEnumerable<IRenderable> RenderDecoration(Actor self, WorldRenderer wr, int2 screenPos)
@@ -78,7 +78,7 @@ namespace OpenRA.Mods.Common.Traits.Render
name = self.Owner.PlayerName;
if (name.Length > Info.MaxLength)
name = name.Substring(0, Info.MaxLength);
name = name[..Info.MaxLength];
}
}
}

View File

@@ -201,7 +201,7 @@ namespace OpenRA.Mods.Common.Traits
foreach (var kv in mp)
{
var name = kv.Key;
var index = int.Parse(name.Substring(5));
var index = int.Parse(name[5..]);
if (index >= newCount)
{

View File

@@ -359,7 +359,7 @@ namespace OpenRA.Mods.Common.UpdateRules.Rules
// Replace removals with masking
foreach (var node in sequenceNode.Value.Nodes)
if (node.Key?.StartsWith("-") ?? false)
node.Key = node.Key.Substring(1);
node.Key = node.Key[1..];
var combineNode = sequenceNode.LastChildMatching("Combine");
if (combineNode != null)
@@ -389,8 +389,8 @@ namespace OpenRA.Mods.Common.UpdateRules.Rules
var overrideFilename = filename;
if (useTilesetCode)
overrideFilename = filename.Substring(0, 1) + tilesetCodes[sequenceTileset] +
filename.Substring(2, filename.Length - 2);
overrideFilename = filename[..1] + tilesetCodes[sequenceTileset] +
filename[2..];
if (addExtension)
overrideFilename += useTilesetExtension ? tilesetExtensions[sequenceTileset] : defaultSpriteExtension;

View File

@@ -327,7 +327,7 @@ namespace OpenRA.Mods.Common.UpdateRules
var prefix = includeRemovals && node.IsRemoval() ? "-" : "";
var split = node.Key.IndexOf("@", StringComparison.Ordinal);
if (preserveSuffix && split > -1)
node.Key = prefix + newKey + node.Key.Substring(split);
node.Key = prefix + newKey + node.Key[split..];
else
node.Key = prefix + newKey;
}
@@ -391,7 +391,7 @@ namespace OpenRA.Mods.Common.UpdateRules
return false;
var atPosition = node.Key.IndexOf('@');
return atPosition > 0 && node.Key.Substring(0, atPosition) == prefix + match;
return atPosition > 0 && node.Key[..atPosition] == prefix + match;
}
/// <summary>Returns true if the node is of the form [match], [match]@[arbitrary suffix] or [arbitrary suffix]@[match].</summary>
@@ -401,7 +401,7 @@ namespace OpenRA.Mods.Common.UpdateRules
return false;
var atPosition = node.Key.IndexOf('@');
var relevantPart = ignoreSuffix && atPosition > 0 ? node.Key.Substring(0, atPosition) : node.Key;
var relevantPart = ignoreSuffix && atPosition > 0 ? node.Key[..atPosition] : node.Key;
if (relevantPart.Contains(match) && (includeRemovals || !node.IsRemoval()))
return true;

View File

@@ -229,7 +229,7 @@ namespace OpenRA.Mods.Common
public static string InternalTypeName(Type t)
{
return t.IsGenericType
? $"{t.Name.Substring(0, t.Name.IndexOf('`'))}<{string.Join(", ", t.GenericTypeArguments.Select(arg => arg.Name))}>"
? $"{t.Name[..t.Name.IndexOf('`')]}<{string.Join(", ", t.GenericTypeArguments.Select(arg => arg.Name))}>"
: t.Name;
}

View File

@@ -129,7 +129,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
var localEnums = new List<Type>();
foreach (var init in actorInits)
{
var name = init.Name.Substring(0, init.Name.Length - 4);
var name = init.Name[..^4];
var parameters = init.GetConstructors().Select(ci => ci.GetParameters());
var parameterString = string.Join(" | ",
parameters

View File

@@ -53,7 +53,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
.Select(type => new
{
type.Namespace,
Name = type.Name.EndsWith("Info") ? type.Name.Substring(0, type.Name.Length - 4) : type.Name,
Name = type.Name.EndsWith("Info") ? type.Name[..^4] : type.Name,
Description = string.Join(" ", Utility.GetCustomAttributes<DescAttribute>(type, false).SelectMany(d => d.Lines)),
RequiresTraits = RequiredTraitTypes(type)
.Select(y => y.Name),
@@ -79,7 +79,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
.Select(a =>
{
var name = a.AttributeType.Name;
name = name.EndsWith("Attribute") ? name.Substring(0, name.Length - 9) : name;
name = name.EndsWith("Attribute") ? name[..^9] : name;
return new
{

View File

@@ -58,7 +58,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
.Select(type => new
{
type.Namespace,
Name = type.Name.EndsWith("Info") ? type.Name.Substring(0, type.Name.Length - 4) : type.Name,
Name = type.Name.EndsWith("Info") ? type.Name[..^4] : type.Name,
Description = string.Join(" ", Utility.GetCustomAttributes<DescAttribute>(type, false).SelectMany(d => d.Lines)),
InheritedTypes = type.BaseTypes()
.Select(y => y.Name)
@@ -82,7 +82,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
.Select(a =>
{
var name = a.AttributeType.Name;
name = name.EndsWith("Attribute") ? name.Substring(0, name.Length - 9) : name;
name = name.EndsWith("Attribute") ? name[..^9] : name;
return new
{

View File

@@ -231,7 +231,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
static string Truncate(string s, int maxLength)
{
return s.Length <= maxLength ? s : s.Substring(0, maxLength);
return s.Length <= maxLength ? s : s[..maxLength];
}
static string GetTileset(IniSection mapSection)

View File

@@ -51,13 +51,13 @@ namespace OpenRA.Mods.Common.Widgets
if (highlightStart > 0 && highlightEnd > highlightStart)
{
// Normal line segment before highlight
var lineNormal = line.Substring(0, highlightStart);
var lineNormal = line[..highlightStart];
components.Add((lineNormal, false));
// Highlight line segment
var lineHighlight = line.Substring(highlightStart + 1, highlightEnd - highlightStart - 1);
var lineHighlight = line[(highlightStart + 1)..highlightEnd];
components.Add((lineHighlight, true));
line = line.Substring(highlightEnd + 1);
line = line[(highlightEnd + 1)..];
}
else
{

View File

@@ -676,15 +676,15 @@ namespace OpenRA.Mods.Common.Widgets.Logic
name = source.Name;
var compare = Platform.CurrentPlatform == PlatformType.Windows ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal;
if (name.StartsWith(modData.Manifest.Package.Name, compare))
name = "$" + modData.Manifest.Id + "/" + name.Substring(modData.Manifest.Package.Name.Length + 1);
name = "$" + modData.Manifest.Id + "/" + name[(modData.Manifest.Package.Name.Length + 1)..];
else if (name.StartsWith(Platform.EngineDir, compare))
name = "./" + name.Substring(Platform.EngineDir.Length);
name = "./" + name[Platform.EngineDir.Length..];
else if (name.StartsWith(Platform.SupportDir, compare))
name = "^" + name.Substring(Platform.SupportDir.Length);
name = "^" + name[Platform.SupportDir.Length..];
}
if (name.Length > 18)
name = "..." + name.Substring(name.Length - 15);
name = "..." + name[^15..];
return name;
}

View File

@@ -35,8 +35,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
}
else
{
ipField.Text = text.Substring(0, last);
portField.Text = text.Substring(last + 1);
ipField.Text = text[..last];
portField.Text = text[(last + 1)..];
}
var joinButton = panel.Get<ButtonWidget>("JOIN_BUTTON");

View File

@@ -205,8 +205,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
return (null, null);
var split = input.IndexOf(token, StringComparison.Ordinal);
var first = split > 0 ? input.Substring(0, split) : input;
var second = split > 0 ? input.Substring(split + token.Length) : null;
var first = split > 0 ? input[..split] : input;
var second = split > 0 ? input[(split + token.Length)..] : null;
return (first, second);
}

View File

@@ -44,7 +44,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{
prefix = "/";
suffix = "";
toComplete = text.Substring(1);
toComplete = text[1..];
candidates = Commands.Where(x => x.StartsWith(toComplete, StringComparison.InvariantCultureIgnoreCase)).ToList();
}
else if (Names != null)
@@ -52,9 +52,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic
var oneWord = text.Contains(' ');
if (oneWord)
{
prefix = text.Substring(0, text.LastIndexOf(' ') + 1);
prefix = text[..(text.LastIndexOf(' ') + 1)];
suffix = "";
toComplete = text.Substring(prefix.Length);
toComplete = text[prefix.Length..];
}
else
{

View File

@@ -156,7 +156,7 @@ namespace OpenRA.Mods.Common.Widgets
var minValue = int.MaxValue;
for (var i = 0; i <= apparentText.Length; i++)
{
var dist = Math.Abs(start + font.Measure(apparentText.Substring(0, i)).X - x);
var dist = Math.Abs(start + font.Measure(apparentText[..i]).X - x);
if (dist > minValue)
break;
minValue = dist;
@@ -168,12 +168,12 @@ namespace OpenRA.Mods.Common.Widgets
int GetPrevWhitespaceIndex()
{
return Text.Substring(0, CursorPosition).TrimEnd().LastIndexOf(' ') + 1;
return Text[..CursorPosition].TrimEnd().LastIndexOf(' ') + 1;
}
int GetNextWhitespaceIndex()
{
var substr = Text.Substring(CursorPosition);
var substr = Text[CursorPosition..];
var substrTrimmed = substr.TrimStart();
var trimmedSpaces = substr.Length - substrTrimmed.Length;
var nextWhitespace = substrTrimmed.IndexOf(' ');
@@ -335,7 +335,7 @@ namespace OpenRA.Mods.Common.Widgets
if (!isOSX && e.Modifiers.HasModifier(Modifiers.Ctrl) && CursorPosition > 0)
{
// Write directly to the Text backing field to avoid unnecessary validation
text = text.Substring(CursorPosition);
text = text[CursorPosition..];
CursorPosition = 0;
ClearSelection();
OnTextEdited();
@@ -350,7 +350,7 @@ namespace OpenRA.Mods.Common.Widgets
{
var lowestIndex = selectionStartIndex < selectionEndIndex ? selectionStartIndex : selectionEndIndex;
var highestIndex = selectionStartIndex < selectionEndIndex ? selectionEndIndex : selectionStartIndex;
Game.Renderer.SetClipboardText(Text.Substring(lowestIndex, highestIndex - lowestIndex));
Game.Renderer.SetClipboardText(Text[lowestIndex..highestIndex]);
RemoveSelectedText();
}
@@ -363,7 +363,7 @@ namespace OpenRA.Mods.Common.Widgets
{
var lowestIndex = selectionStartIndex < selectionEndIndex ? selectionStartIndex : selectionEndIndex;
var highestIndex = selectionStartIndex < selectionEndIndex ? selectionEndIndex : selectionStartIndex;
Game.Renderer.SetClipboardText(Text.Substring(lowestIndex, highestIndex - lowestIndex));
Game.Renderer.SetClipboardText(Text[lowestIndex..highestIndex]);
}
break;
@@ -377,7 +377,7 @@ namespace OpenRA.Mods.Common.Widgets
{
// Write directly to the Text backing field to avoid unnecessary validation
if ((!isOSX && e.Modifiers.HasModifier(Modifiers.Ctrl)) || (isOSX && e.Modifiers.HasModifier(Modifiers.Alt)))
text = text.Substring(0, CursorPosition) + text.Substring(GetNextWhitespaceIndex());
text = text[..CursorPosition] + text[GetNextWhitespaceIndex()..];
else if (isOSX && e.Modifiers.HasModifier(Modifiers.Meta))
text = text.Remove(CursorPosition);
else
@@ -400,12 +400,12 @@ namespace OpenRA.Mods.Common.Widgets
if ((!isOSX && e.Modifiers.HasModifier(Modifiers.Ctrl)) || (isOSX && e.Modifiers.HasModifier(Modifiers.Alt)))
{
var prevWhitespace = GetPrevWhitespaceIndex();
text = text.Substring(0, prevWhitespace) + text.Substring(CursorPosition);
text = text[..prevWhitespace] + text[CursorPosition..];
CursorPosition = prevWhitespace;
}
else if (isOSX && e.Modifiers.HasModifier(Modifiers.Meta))
{
text = text.Substring(CursorPosition);
text = text[CursorPosition..];
CursorPosition = 0;
}
else
@@ -432,7 +432,7 @@ namespace OpenRA.Mods.Common.Widgets
// Take only the first line of the clipboard contents
var nl = clipboardText.IndexOf('\n');
if (nl > 0)
clipboardText = clipboardText.Substring(0, nl);
clipboardText = clipboardText[..nl];
clipboardText = clipboardText.Trim();
if (clipboardText.Length > 0)
@@ -479,7 +479,7 @@ namespace OpenRA.Mods.Common.Widgets
pasteLength = Math.Min(input.Length, MaxLength - Text.Length);
// Write directly to the Text backing field to avoid repeating the invalid character validation
text = text.Insert(CursorPosition, input.Substring(0, pasteLength));
text = text.Insert(CursorPosition, input[..pasteLength]);
CursorPosition += pasteLength;
ClearSelection();
OnTextEdited();
@@ -551,7 +551,7 @@ namespace OpenRA.Mods.Common.Widgets
var pos = RenderOrigin;
var textSize = font.Measure(apparentText);
var cursorPosition = font.Measure(apparentText.Substring(0, CursorPosition));
var cursorPosition = font.Measure(apparentText[..CursorPosition]);
var disabled = IsDisabled();
var hover = Ui.MouseOverWidget == this || Children.Any(c => c == Ui.MouseOverWidget);
@@ -580,8 +580,8 @@ namespace OpenRA.Mods.Common.Widgets
{
var visualSelectionStartIndex = selectionStartIndex < selectionEndIndex ? selectionStartIndex : selectionEndIndex;
var visualSelectionEndIndex = selectionStartIndex < selectionEndIndex ? selectionEndIndex : selectionStartIndex;
var highlightStartX = font.Measure(apparentText.Substring(0, visualSelectionStartIndex)).X;
var highlightEndX = font.Measure(apparentText.Substring(0, visualSelectionEndIndex)).X;
var highlightStartX = font.Measure(apparentText[..visualSelectionStartIndex]).X;
var highlightEndX = font.Measure(apparentText[..visualSelectionEndIndex]).X;
WidgetUtils.FillRectWithColor(
new Rectangle(textPos.X + highlightStartX, textPos.Y, highlightEndX - highlightStartX, Bounds.Height - verticalMargin * 2), TextColorHighlight);

View File

@@ -249,7 +249,7 @@ namespace OpenRA.Mods.Common.Widgets
if (spaceIndex == -1)
break;
var fragmentWidth = font.Measure(line.Substring(0, spaceIndex)).X;
var fragmentWidth = font.Measure(line[..spaceIndex]).X;
if (fragmentWidth > width)
break;
@@ -258,8 +258,8 @@ namespace OpenRA.Mods.Common.Widgets
if (start > 0)
{
lines[i] = line.Substring(0, start - 1);
lines.Insert(i + 1, line.Substring(start));
lines[i] = line[..(start - 1)];
lines.Insert(i + 1, line[start..]);
}
}
@@ -278,7 +278,7 @@ namespace OpenRA.Mods.Common.Widgets
var trimmed = text;
while (trimmedWidth > width && trimmed.Length > 3)
{
trimmed = text.Substring(0, trimmed.Length - 4) + "...";
trimmed = text[..(trimmed.Length - 4)] + "...";
trimmedWidth = font.Measure(trimmed).X;
}