溫馨提示×

c# scanf能自定義格式嗎

c#
小樊
81
2024-10-18 12:28:24
欄目: 編程語言

在C#中,Console.ReadLine()方法通常用于從控制臺讀取用戶輸入的一行文本。然而,Console.ReadLine()并不直接支持類似C語言中scanf的自定義格式化輸入功能。

如果你需要從控制臺讀取特定格式的輸入,你可能需要使用正則表達式或手動解析輸入字符串。下面是一個簡單的示例,展示了如何使用正則表達式來讀取一個包含多個整數(shù)的行,并按照指定的順序存儲這些整數(shù):

using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        Console.WriteLine("請輸入一組整數(shù),用空格分隔:");
        string input = Console.ReadLine();

        // 使用正則表達式匹配所有整數(shù)
        Regex regex = new Regex(@"-?\d+");
        MatchCollection matches = regex.Matches(input);

        // 創(chuàng)建一個列表來存儲整數(shù)
        List<int> numbers = new List<int>();

        // 遍歷所有匹配項,并將它們轉(zhuǎn)換為整數(shù)并添加到列表中
        foreach (Match match in matches)
        {
            numbers.Add(int.Parse(match.Value));
        }

        // 輸出讀取到的整數(shù)
        Console.WriteLine("讀取到的整數(shù):");
        foreach (int number in numbers)
        {
            Console.Write(number + " ");
        }
    }
}

在這個示例中,我們首先提示用戶輸入一組用空格分隔的整數(shù)。然后,我們使用正則表達式-?\d+來匹配所有整數(shù)(包括負數(shù))。接下來,我們遍歷所有匹配項,并將它們轉(zhuǎn)換為整數(shù)并添加到一個列表中。最后,我們輸出讀取到的整數(shù)。

請注意,這個示例僅用于演示目的,并且假設(shè)用戶輸入的是有效的整數(shù)。在實際應(yīng)用中,你可能需要添加額外的錯誤處理和驗證邏輯來確保程序的健壯性。

0