Skip to content

Commit 9ea7e1a

Browse files
authored
Add Console.Write{Line} span overloads (#105531)
1 parent cef3898 commit 9ea7e1a

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed

src/libraries/System.Console/ref/System.Console.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ public static void Write(long value) { }
160160
public static void Write(object? value) { }
161161
public static void Write(float value) { }
162162
public static void Write(string? value) { }
163+
public static void Write(System.ReadOnlySpan<char> value) { }
163164
public static void Write([System.Diagnostics.CodeAnalysis.StringSyntaxAttribute("CompositeFormat")] string format, object? arg0) { }
164165
public static void Write([System.Diagnostics.CodeAnalysis.StringSyntaxAttribute("CompositeFormat")] string format, object? arg0, object? arg1) { }
165166
public static void Write([System.Diagnostics.CodeAnalysis.StringSyntaxAttribute("CompositeFormat")] string format, object? arg0, object? arg1, object? arg2) { }
@@ -181,6 +182,7 @@ public static void WriteLine(long value) { }
181182
public static void WriteLine(object? value) { }
182183
public static void WriteLine(float value) { }
183184
public static void WriteLine(string? value) { }
185+
public static void WriteLine(ReadOnlySpan<char> value) { }
184186
public static void WriteLine([System.Diagnostics.CodeAnalysis.StringSyntaxAttribute("CompositeFormat")] string format, object? arg0) { }
185187
public static void WriteLine([System.Diagnostics.CodeAnalysis.StringSyntaxAttribute("CompositeFormat")] string format, object? arg0, object? arg1) { }
186188
public static void WriteLine([System.Diagnostics.CodeAnalysis.StringSyntaxAttribute("CompositeFormat")] string format, object? arg0, object? arg1, object? arg2) { }

src/libraries/System.Console/src/System/Console.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -813,6 +813,12 @@ public static void WriteLine(string? value)
813813
Out.WriteLine(value);
814814
}
815815

816+
[MethodImplAttribute(MethodImplOptions.NoInlining)]
817+
public static void WriteLine(ReadOnlySpan<char> value)
818+
{
819+
Out.WriteLine(value);
820+
}
821+
816822
[MethodImplAttribute(MethodImplOptions.NoInlining)]
817823
public static void WriteLine([StringSyntax(StringSyntaxAttribute.CompositeFormat)] string format, object? arg0)
818824
{
@@ -969,6 +975,12 @@ public static void Write(string? value)
969975
Out.Write(value);
970976
}
971977

978+
[MethodImplAttribute(MethodImplOptions.NoInlining)]
979+
public static void Write(ReadOnlySpan<char> value)
980+
{
981+
Out.Write(value);
982+
}
983+
972984
private static void HandlePosixSignal(PosixSignalContext ctx)
973985
{
974986
Debug.Assert(ctx.Signal == PosixSignal.SIGINT || ctx.Signal == PosixSignal.SIGQUIT);

src/libraries/System.Console/tests/ReadAndWrite.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ private static void WriteCore()
105105
Console.Write(50UL);
106106
Console.Write(new object());
107107
Console.Write("Hello World");
108+
Console.Write("Hello World".AsSpan());
108109
}
109110

110111
private static void WriteLineCore()
@@ -145,6 +146,7 @@ private static void WriteLineCore()
145146
Console.WriteLine(50UL);
146147
Console.WriteLine(new object());
147148
Console.WriteLine("Hello World");
149+
Console.WriteLine("Hello World".AsSpan());
148150
}
149151

150152
[Fact]
@@ -187,6 +189,7 @@ public static async Task OutWriteAndWriteLineOverloads()
187189
writer.Write(50UL);
188190
writer.Write(new object());
189191
writer.Write("Hello World");
192+
writer.Write("Hello World".AsSpan());
190193

191194
writer.Flush();
192195

0 commit comments

Comments
 (0)