Machineboy空

構造体の作成 본문

언어/C#

構造体の作成

안녕도라 2025. 5. 20. 12:31
using System;
using System.Linq;

struct User{
    public string nickname;
    public int old;
    public DateTime birth;
    public string state;
    
    public User(string nn, int old, DateTime dt, string st){
        this.nickname = nn;
        this.old = old;
        this.birth = dt;
        this.state = st;
    }
}

class Program
{
    static void Main()
    {
        int n = int.Parse(Console.ReadLine());
        
        while(n-- > 0){
            var line = Console.ReadLine().Split();
            
            User user = new User(line[0], int.Parse(line[1]), DateTime.Parse(line[2]),line[3]);
            printUser(user);
        }
    }
    
    static void printUser(User user){
        Console.WriteLine("User{");
        Console.WriteLine($"nickname : {user.nickname}");
        Console.WriteLine($"old : {user.old}");
        Console.WriteLine($"birth : {user.birth.ToString("MM/dd")}");
        Console.WriteLine($"state : {user.state}");
        Console.WriteLine("}");
    }
}

改善方法:User 構造体の中にPrint文を入れる

using System;
using System.Linq;

struct User{
    public string nickname;
    public int old;
    public DateTime birth;
    public string state;
    
    public User(string nn, int old, DateTime dt, string st){
        this.nickname = nn;
        this.old = old;
        this.birth = dt;
        this.state = st;
    }
    
    public void Print()
    {
        Console.WriteLine("User{");
        Console.WriteLine($"nickname : {Nickname}");
        Console.WriteLine($"old : {Age}");
        Console.WriteLine($"birth : {Birth:MM/dd}");
        Console.WriteLine($"state : {State}");
        Console.WriteLine("}");
    }
}

class Program
{
    static void Main()
    {
        int n = int.Parse(Console.ReadLine());
        
        while(n-- > 0){
            var line = Console.ReadLine().Split();
            
            User user = new User(line[0], int.Parse(line[1]), DateTime.Parse(line[2]),line[3]);
            printUser(user);
        }
    }
}