Thread.Name Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets the name of the thread.
public:
property System::String ^ Name { System::String ^ get(); void set(System::String ^ value); };
public string? Name { get; set; }
public string Name { get; set; }
member this.Name : string with get, set
Public Property Name As String
Property Value
A string containing the name of the thread, or null
if no name was set.
Exceptions
A set operation was requested, but the Name
property has already been set.
Examples
The following example shows how to name a thread.
using namespace System;
using namespace System::Threading;
int main()
{
// Check whether the thread has previously been named to
// avoid a possible InvalidOperationException.
if ( Thread::CurrentThread->Name == nullptr )
{
Thread::CurrentThread->Name = "MainThread";
}
else
{
Console::WriteLine( "Unable to name a previously "
"named thread." );
}
}
using System;
using System.Threading;
class Name
{
static void Main()
{
// Check whether the thread has previously been named
// to avoid a possible InvalidOperationException.
if(Thread.CurrentThread.Name == null)
{
Thread.CurrentThread.Name = "MainThread";
}
else
{
Console.WriteLine("Unable to name a previously " +
"named thread.");
}
}
}
Imports System.Threading
Public Class Name
<MTAThread> _
Shared Sub Main()
' Check whether the thread has previously been named
' to avoid a possible InvalidOperationException.
If Thread.CurrentThread.Name = Nothing Then
Thread.CurrentThread.Name = "MainThread"
Else
Console.WriteLine("Unable to name a previously " & _
"named thread.")
End If
End Sub
End Class
Remarks
This property is write-once. Because the default value of a thread's Name property is null
, you can determine whether a name has already been explicitly assigned to the thread by comparing it with null
.
The string assigned to the Name property can include any Unicode character.