「アプリケーション名」をどのように定義するかによって異なります。
Application.ExecutablePath
実行可能ファイル名を含む、アプリケーションを起動した実行可能ファイルのパスを返します。これは、誰かがファイルの名前を変更すると、値が変更されることを意味します。
Assembly.GetEntryAssembly().GetName().Name
アセンブリの単純な名前を返します。これは通常、アセンブリのマニフェスト ファイルのファイル名から拡張子を引いたものですが、必ずしもそうである必要はありません。
そのため、GetName().Name の方が手頃なようです。
より速いものについては、わかりません。GetName() ではリフレクションが必要なため、ExecutablePath は GetName() よりも高速であると思いますが、これは測定する必要があります。
編集:
このコンソール アプリをビルドして実行し、Windows ファイル エクスプローラーを使用して実行可能ファイルの名前を変更し、名前を変更した実行可能ファイルをダブルクリックして直接実行してください。
ExecutablePath は変更を反映し、アセンブリ名は同じままです
using System;
using System.Reflection;
using System.Windows.Forms;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(Assembly.GetEntryAssembly().GetName().Name);
Console.WriteLine(Application.ExecutablePath);
Console.ReadLine();
}
}
}