IRCRehberi.Net- Türkiyenin En iyi IRC ve Genel Forum Sitesi  
 sohbet
derya sohbet


Programlama C , C# , C++ , Java , Python , Php , Javascript , Matlab Örnekleri

 
 
Seçenekler Stil
Alt 19 Temmuz 2021, 19:18   #1
Standart C# Main Yöntemi

Ana() ve komut satırı bağımsız değişkenleri


Main bir C# uygulamasının giriş noktasıdır. (Kitaplıklar ve hizmetler giriş noktası Main olarak yöntem gerektirmez.) Uygulama başlatıldığında, Main yöntemi çağrılan ilk yöntemdir.

C# programında yalnızca bir giriş noktası olabilir. Yöntemi olan birden fazla sınıfınız varsa, giriş noktası olarak hangi yöntemin kullan gerektiğini belirtmek için Main programınızı StartupObject derleyici Main seçeneğiyle derlemeniz gerekir. Daha fazla bilgi için bkz. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

PHP- Kodu

using System;

class 
TestClass
{
    static 
void Main(string[] args)
    {
        
// Display the number of command line arguments.
        
Console.WriteLine(args.Length);
    }

C# 9'dan başlayarak yöntemini atlayarak aşağıdaki örnekte olduğu gibi C# deyimlerini yönteminde olduğu Main Main gibi yazabilir:

PHP- Kodu

using System;

Console.WriteLine("Merhaba ircrehberi!"); 

Genel Bakış
  • Main yürütülebilir bir programın giriş noktasıdır; program denetimi burada başlar ve biter.

  • Main bir sınıf veya yapı içinde bildirilir. Main olmalı static ve olması public gerekir. (Önceki örnekte, varsayılan .) erişimini private alır. Kapsayan sınıfın veya yapının statik olması gerekmez.

  • Main , veya void int C# 7.1 ile başlayarak veya Task dönüş Task<int> türüne sahip olabilir.

  • yalnızca veya Main döndürürse Task Task<int> bildirimi Main async değiştiriciyi içerebilir. Bu özellikle bir yöntemi async void Main dışlar.

  • Main komut satırı bağımsız değişkenlerini içeren bir parametre string[] ile veya olmadan bildirebilirsiniz. Windows Visual Studio için bir komut satırı kullanırken, parametresini el ile ekleyebilir veya komut satırı bağımsız değişkenlerini GetCommandLineArgs() almak için yöntemini kullanabilirsiniz.

    Parametreler sıfır dizinli komut satırı bağımsız değişkenleri olarak okunur. C ve C++ ' dan farklı olarak, programın adı dizideki ilk komut satırı bağımsız değişkeni olarak değerlendirilmez args , ancak yöntemin ilk öğesidir GetCommandLineArgs() .


Aşağıdaki listede geçerli imzalar gösterilmektedir Main :


PHP- Kodu

public static void Main() { }
public static 
int Main() { }
public static 
void Main(string[] args) { }
public static 
int Main(string[] args) { }
public static 
async Task Main() { }
public static 
async Task<intMain() { }
public static 
async Task Main(string[] args) { }
public static 
async Task<intMain(string[] args) { } 

Yukarıdaki örneklerin tümü public erişimci değiştiricisini kullanır. Bu tipik, ancak gerekli değildir.

asyncVe ' nin eklenmesi Task , Task<int> konsol uygulamalarının await ' de başlaması ve zaman uyumsuz işlemler gerektiğinde program kodunu basitleştirir Main .

Main () dönüş değerleri

Yöntemini int Main aşağıdaki yöntemlerden biriyle tanımlayarak yönteminden dönüştürebilirsiniz:

C# Main Yöntemi


Ancak, int döndürerek veya Task<int> programın durum bilgilerini yürütülebilir dosyayı çağıran diğer programlara veya betiklere iletebilir.

Aşağıdaki örnekte, işlem çıkış koduna nasıl erişilebilirsiniz?

Bu örnekte .NET Core komut satırı araçları 1. .NET Core komut satırı araçları hakkında bilgi edinmek için bu [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

çalıştırarak yeni bir uygulama dotnet new console oluşturun. Main Program.cs'de yöntemini aşağıdaki gibi değiştirin:

PHP- Kodu

// Save this program as MainReturnValTest.cs.
class MainReturnValTest
{
    static 
int Main()
    {
        
//...
        
return 0;
    }

Bir program Windows'da yürütülürken, işlevden döndürülen herhangi Main bir değer bir ortam değişkende depolanır. Bu ortam değişkeni bir toplu iş ERRORLEVEL dosyasından veya $LastExitCode PowerShell'den kullanılarak alınabilirsiniz.

Ardından, uygulamayı çalıştırmak ve sonucu görüntülemek için bir PowerShell betiği oluşturun. Aşağıdaki kodu bir metin dosyasına yapıştırın ve projeyi test.ps1 içeren klasöre kaydedin. PowerShell istemine yazarak test.ps1 PowerShell betiği çalıştırın.

Kod sıfır döndüren toplu iş dosyası başarılı olduğunu bildirecek. Ancak MainReturnValTest.cs dosyasını sıfır olmayan bir değer iade etmek ve programı yeniden derlemek için değiştirirsanız, PowerShell betiği sonraki yürütmesi hata bildirecek.

PHP- Kodu

dotnet run
if ($LastExitCode -eq 0) {
    
Write-Host "Execution succeeded"
} else
{
    
Write-Host "Execution Failed"
}
Write-Host "Return value = " $LastExitCode 

Çıktı

PHP- Kodu

Execution succeeded
Return value 

Zaman Uyumsuz Ana dönüş değerleri

için bir dönüş değeri bildirebilirsiniz, derleyici içinde zaman uyumsuz yöntemleri async Main çağırmaya ilişkin ortak kodu Main üretir. anahtar sözcüğünü belirtmezseniz, aşağıdaki örnekte gösterildiği gibi bu kodu async kendiniz yazmanız gerekir. Örnekteki kod, zaman uyumsuz işlem tamamlanana kadar program çalıştırmanızı sağlar:

PHP- Kodu

public static void Main()
{
    
AsyncConsoleWork().GetAwaiter().GetResult();
}

private static 
async Task<intAsyncConsoleWork()
{
    
// Main body here
    
return 0;

Bu ortak kod şu şekilde değiştirilebilir:

PHP- Kodu

static async Task<intMain(string[] args)
{
    return 
await AsyncConsoleWork();

Derleyicinin her zaman Main doğru async kodu oluşturması gibi bildirim oluşturmanın bir avantajıdır.

Uygulama giriş noktası bir veya döndür olduğunda, derleyici uygulama kodunda bildirilen giriş noktası yöntemini çağıran Task yeni bir giriş noktası Task<int> üretir. Bu giriş noktasının adı olduğunu $GeneratedMain varsayarak, derleyici bu giriş noktaları için aşağıdaki kodu üretir:
  • static Task Main() ile eşdeğerini yayan derleyicinin sonuçları private static void $GeneratedMain() => Main().GetAwaiter().GetResult();

  • static Task Main(string[]) ile eşdeğerini yayan derleyicinin sonuçları private static void $GeneratedMain(string[] args) => Main(args).GetAwaiter().GetResult();

  • static Task<int> Main() ile eşdeğerini yayan derleyicinin sonuçları private static int $GeneratedMain() => Main().GetAwaiter().GetResult();

  • static Task<int> Main(string[]) ile eşdeğerini yayan derleyicinin sonuçları private static int $GeneratedMain(string[] args) => Main(args).GetAwaiter().GetResult();

Not

Örneklerde async yönteminde değiştirici Main kullanılmışsa, derleyici aynı kodu üretir.

Komut Satırı Bağımsız Değişkenleri

yöntemini tanımlamak için aşağıdaki Main yöntemlerden birini kullanarak yöntemine bağımsız değişkenler gönderebilirsiniz:


C# Main Yöntemi

Not

Ayrıca Environment.CommandLine Environment.GetCommandLineArgs , komut satırı bağımsız değişkenlerine konsol veya Windows Forms uygulamasındaki herhangi bir noktadan erişmek için de kullanabilirsiniz.

Windows Forms uygulamasındaki Yöntem imzasında komut satırı bağımsız değişkenlerini etkinleştirmek için Main , imzasını el ile değiştirmeniz gerekir Main . Windows Forms Tasarımcısı tarafından oluşturulan kod, Main giriş parametresi olmadan oluşturulur.

Yönteminin parametresi, Main String komut satırı bağımsız değişkenlerini temsil eden bir dizidir. Genellikle, özelliği test ederek bağımsız değişkenlerin mevcut olup olmadığını belirlersiniz Length . Örneğin:

PHP- Kodu

if (args.Length == 0)
{
    
System.Console.WriteLine("Please enter a numeric argument.");
    return 
1;

İpucu

args Dizi null olamaz. Bu nedenle, Length özelliği null denetimi olmadan erişmek güvenlidir.

Ayrıca, sınıfını veya yöntemini kullanarak dize bağımsız değişkenlerini sayısal türlere dönüştürebilirsiniz Convert Parse . Örneğin, aşağıdaki ifade, string long yöntemini kullanarak öğesini bir sayıya dönüştürür Parse :

PHP- Kodu

long num Int64.Parse(args[0]); 

C# türü de kullanılabilir long , diğer ad Int64 :

PHP- Kodu

long num long.Parse(args[0]); 

Convert ToInt64 Aynı şeyi yapmak için de sınıf yöntemini kullanabilirsiniz:

PHP- Kodu

long num Convert.ToInt64(s); 

Aşağıdaki örnek, bir konsol uygulamasında komut satırı bağımsız değişkenlerinin nasıl kullanılacağını gösterir. Uygulama çalışma zamanında bir bağımsız değişken alır, bağımsız değişkeni bir tamsayıya dönüştürür ve sayının faktöriyelini hesaplar. Bağımsız değişken sağlanmazsa, uygulama programın doğru kullanımını açıklayan bir ileti yayınlar.

Uygulamayı bir komut isteminden derlemek ve çalıştırmak için aşağıdaki adımları izleyin:

1. Aşağıdaki kodu herhangi bir metin düzenleyicisine yapıştırın ve sonra dosyayı çarpınımı. cs adlı bir metin dosyası olarak kaydedin.

PHP- Kodu

using System;

public class 
Functions
{
    public static 
long Factorial(int n)
    {
        
// Test for invalid input.
        
if ((0) || (20))
        {
            return -
1;
        }

        
// Calculate the factorial iteratively rather than recursively.
        
long tempResult 1;
        for (
int i 1<= ni++)
        {
            
tempResult *= i;
        }
        return 
tempResult;
    }
}

class 
MainClass
{
    static 
int Main(string[] args)
    {
        
// Test if input arguments were supplied.
        
if (args.Length == 0)
        {
            
Console.WriteLine("Please enter a numeric argument.");
            
Console.WriteLine("Usage: Factorial <num>");
            return 
1;
        }

        
// Try to convert the input arguments to numbers. This will throw
        // an exception if the argument is not a number.
        // num = int.Parse(args[0]);
        
int num;
        
bool test int.TryParse(args[0], out num);
        if (!
test)
        {
            
Console.WriteLine("Please enter a numeric argument.");
            
Console.WriteLine("Usage: Factorial <num>");
            return 
1;
        }

        
// Calculate factorial.
        
long result Functions.Factorial(num);

        
// Print result.
        
if (result == -1)
            
Console.WriteLine("Input must be >= 0 and <= 20.");
        else
            
Console.WriteLine($"The Factorial of {num} is {result}.");

        return 
0;
    }
}
// If 3 is entered on command line, the
// output reads: The factorial of 3 is 6. 

2. Başlat ekranından veya Başlat menüsünden bir Visual Studio Geliştirici komut istemi penceresi açın ve oluşturduğunuz dosyayı içeren klasöre gidin.

3. Uygulamayı derlemek için aşağıdaki komutu girin.

dotnet build

Uygulamanızda hiçbir derleme hatası yoksa, Factorial.exe adlı yürütülebilir bir dosya oluşturulur.

4. 3 ' ün çarpımını hesaplamak için aşağıdaki komutu girin:

dotnet run -- 3

Komut bu çıktıyı üretir: The factorial of 3 is 6.

Not

Visual Studio 'da bir uygulama çalıştırırken, hata ayıklama sayfasında, proje Tasarımcısı' nda komut satırı bağımsız değişkenlerini belirtebilirsiniz.

Alıntı:
BillWAGNER
________________

06/02/2023 İnsan olan herkesin kalbi acıdı.
 


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı





Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 16:43.