Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Phương thức Stack.ToString() trong C# với ví dụ

Giới thiệu

Phương thức Stack.ToString() trong C# trả về biểu diễn chuỗi của đối tượng lớp Stack. Tuy nhiên, lưu ý rằng phương thức này kế thừa từ Object.ToString() và thường chỉ trả về tên kiểu đầy đủ (fully qualified type name) chứ không phải nội dung của stack.

Cú pháp

public string ToString ();

Ví dụ 1: Stack chứa số nguyên

using System;
using System.Collections;

public class Demo {
    public static void Main() {
        Stack stack = new Stack();
        stack.Push(150);
        stack.Push(300);
        stack.Push(500);
        stack.Push(750);
        stack.Push(1000);
        stack.Push(1250);
        stack.Push(1500);
        stack.Push(2000);
        stack.Push(2500);

        Console.WriteLine("Các phần tử Stack...");
        foreach(int val in stack) {
            Console.WriteLine(val.ToString());
        }
        Console.WriteLine("Số lượng phần tử = " + stack.Count);

        stack.Push(3000);
        stack.Push(3500);
        stack.Push(4000);

        Console.WriteLine("\nCác phần tử Stack...đã cập nhật");
        foreach(int val in stack) {
            Console.WriteLine(val.ToString());
        }
        Console.WriteLine("\nSố lượng phần tử (đã cập nhật) = " + stack.Count);

        Console.WriteLine("\nSao chép Stack sang mảng mới...");
        Object[] objArr = stack.ToArray();
        foreach(Object ob in objArr) {
            Console.WriteLine(ob);
        }
        Console.WriteLine("\nSố lượng phần tử trong mảng = " + objArr.Length);
    }
}

Đầu ra ví dụ 1

Các phần tử Stack...
2500
2000
1500
1250
1000
750
500
300
150
Số lượng phần tử = 9

Các phần tử Stack...đã cập nhật
4000
3500
3000
2500
2000
1500
1250
1000
750
500
300
150
Số lượng phần tử (đã cập nhật) = 12

Sao chép Stack sang mảng mới...
4000
3500
3000
2500
2000
1500
1250
1000
750
500
300
150
Số lượng phần tử trong mảng = 12

Ví dụ 2: Stack chứa chuỗi

using System;
using System.Collections;

public class Demo {
    public static void Main() {
        Stack stack = new Stack();
        stack.Push("Inspiron");
        stack.Push("Alienware");
        stack.Push("Projectors");
        stack.Push("Monitors");
        stack.Push("XPS");
        stack.Push("Laptop");
        stack.Push("Notebook");

        Console.WriteLine("Các phần tử Stack...");
        foreach(string val in stack) {
            Console.WriteLine(val.ToString());
        }
        Console.WriteLine("Số lượng phần tử = " + stack.Count);
        Console.WriteLine("Phần tử ở đỉnh = " + stack.Peek());

        stack.Push("Ultrabook");
        stack.Push("Cameras");
        stack.Push("Keyboards");

        Console.WriteLine("\nCác phần tử Stack...đã cập nhật");
        foreach(string val in stack) {
            Console.WriteLine(val.ToString());
        }
        Console.WriteLine("Phần tử ở đỉnh = " + stack.Peek());
        Console.WriteLine("\nSố lượng phần tử (đã cập nhật) = " + stack.Count);

        stack.Clear();
        Console.Write("Số lượng phần tử (đã cập nhật) = " + stack.Count);
    }
}

Đầu ra ví dụ 2

Các phần tử Stack...
Notebook
Laptop
XPS
Monitors
Projectors
Alienware
Inspiron
Số lượng phần tử = 7
Phần tử ở đỉnh = Notebook

Các phần tử Stack...đã cập nhật
Keyboards
Cameras
Ultrabook
Notebook
Laptop
XPS
Monitors
Projectors
Alienware
Inspiron
Phần tử ở đỉnh = Keyboards
Số lượng phần tử (đã cập nhật) = 10
Số lượng phần tử (đã cập nhật) = 0

Lưu ý quan trọng

  • Stack.ToString() không trả về nội dung của stack. Nó trả về chuỗi "System.Collections.Stack".
  • Để hiển thị nội dung stack, hãy lặp qua các phần tử (như ví dụ trên) hoặc sử dụng string.Join() kết hợp với stack.ToArray().
  • Stack tuân theo nguyên tắc LIFO (Last In, First Out) - phần tử cuối cùng được Push sẽ ở đỉnh.