2012-03-06 32 views

Trả lời

26

Một vài tùy chọn khác:

  1. Sử dụng toán tử dấu phẩy để tạo một mảng:

    $cars = ,"bmw" 
    $cars.GetType().FullName 
    # Outputs: System.Object[] 
    
  2. Sử dụng mảng subexpression cú pháp:

    $cars = @("bmw") 
    $cars.GetType().FullName 
    # Outputs: System.Object[] 
    

Nếu bạn không muốn một mảng đối tượng bạn có thể nhìn xuống để loại bạn muốn ví dụ một mảng chuỗi.

[string[]] $cars = ,"bmw" 
[string[]] $cars = @("bmw") 
+0

Cảm ơn Andy! Tôi thấy rằng tập lệnh của tôi không thành công vì giá trị nếu system.object []. Có cách nào để xử lý nội dung dưới dạng chuỗi không? – Sune

+0

@Sune Yea bạn chỉ cần truyền xuống một mảng chuỗi. Tôi đã thêm các ví dụ. –

+0

Công trình này hoạt động! Cảm ơn bạn rất nhiều :) – Sune

6

tuyên bố bạn mảng như:

$car = array("bmw") 

EDIT

bây giờ với cú pháp PowerShell :)

$car = [array]"bmw" 
+0

Cảm ơn bạn đã giúp đỡ của bạn! Tôi đã không chấp nhận nó như một câu trả lời mặc dù, bởi vì cú pháp là tắt. Có thể cho một ngôn ngữ khác? Cảm ơn bạn anyways :) – Sune

+0

Điều này không hoạt động trong PowerShell. –

+0

Câu trả lời đã chỉnh sửa của bạn hoạt động ở Powershell. Cảm ơn bạn Vikram! – Sune

12

Thay vì viết echo $cars.length ghi echo @($cars).length

+0

Điều đó đã giúp tôi rất nhiều. Một mảng với 1 phần tử "$ packs.Count" không trả về bất cứ thứ gì. Với một số yếu tố nó hoạt động tốt. Sau khi thay đổi nó thành "@ ($ packs) .count" nó cũng trả về 1 cho 1 phần tử. Cảm ơn rất nhiều! Bạn có thể giải thích hành vi này không? – Hardoman

Các vấn đề liên quan