에 대한 배열

0 Comments
  • 08/26/2020
  • 14 분 읽
    • c

간단한 설명

에 대해 설명합 배열에 있는 데이터 구조물을 설계하 storecollections 의 항목입니다.

긴 설명

배열은 데이터 구조로 설계된 컬렉션을 저장하 항목입니다.항목은 동일한 유형 또는 다른 유형일 수 있습니다.

Windows PowerShell3 에서 시작합니다.,0,0 또는 하나의 객체 컬렉션은어레이의 일부 속성.

배열 만들기 및 초기화

배열을 만들고 초기화하려면 변수에 여러 값을 할당하십시오. 배열에 저장된 값은 쉼표로 구분되고 할당 연산자(=)에 의해 가변 이름과 구분됩니다.,

예를 들어,배열을 만들라는$A포함된 일곱 숫자(int)값의 22, 5, 10, 8, 12, 9, 80 입력:

쉼표도 사용될 수 있습을 초기화 한 항목 배열을 배치하여 thecomma 기 전에 하나의 항목입니다.

예를 들어,하나의 항목 배열된$B포함하는 singlevalue7 개의 입력:

할 수도 있습니다 만들고 초기화를 사용하여 배열의 범위는 통신수(..).,다음 예제에서는 5 에서 8 까지의 값을 포함하는 배열을 만듭니다.

결과적으로$C에는 5,6,7 및 8 의 네 가지 값이 포함됩니다.

데이터 유형을 지정하지 않으면 PowerShell 은 각 배열을 objectarray(System.개체). 배열의 데이터 유형을 확인하려면 gettype()메소드를 사용하십시오., 예를 들어,을 결정하는 데이터의 유형$A배열을 입력:

을 만드 강력한 형식의 배열을,즉,배열을 포함할 수 있는 onlyvalues 특정 유형의 변수를 캐스팅으로 배열 형식 등 string,long,또는 int32. 배열을 캐스트하려면 앞에대괄호로 묶인 배열 유형을 가진 가변 이름., 예를 들어,을 만들 a32 비트 정수 배열된$ia포함하는 네 개의 정수(1500,2230,3350,4000),유형:

결과적으로는$ia배열에 정수만 포함될 수 있습니다.

에서 지원되는 모든 유형으로 캐스트되는 배열을 만들 수 있습니다 Microsoft.NET 프레임 워크. 예를 들어Get-Process가 torepresent 프로세스를 검색하는 객체는 시스템의 것입니다.진단.프로세스 유형., 을 만들 astrongly 입력의 프로세스 개체 배열,다음과 같이 입력한 명령:

배열의 하위 식 operator

배열의 하위 식 운영자 배열을 만들에서 문 insideit. 연산자 내부의 문이 무엇을 생성하든,연산자는이를 배열에 배치합니다. 0 또는 하나의 객체가있는 경우에도 마찬가지입니다.

구문을 배열의 운영자는 다음과 같습니다:

사용할 수 있습 배열 연산자를 만들의 배열로 또 하나의 객체입니다., 예를 들어:

배열 연산자를 스크립트에서 유용할 때 얻고 있지만,donot 는 방법을 알고 많은 개체는 당신이 얻을. 예:

배열 하위 표현식 연산자에 대한 자세한 내용은 about_operators 를 참조하십시오.

배열 요소 액세스 및 사용

배열 읽기

변수 이름을 사용하여 배열을 참조 할 수 있습니다. 배열의 모든 요소를 표시하려면 배열 이름을 입력하십시오., 예를 들어,가정$a은 anarray 포함하는 정수는 0,1,2,9 까지;입력:

참조할 수 있습니다 배열의 요소를 사용하여 인덱스 시작,atposition0. 색인 번호를 대괄호로 묶습니다., 예를 들어,표시하는 첫 번째 요소는$a배열을 입력:

전시에서 세 번째 요소는$a배열,유형:

를 검색할 수 있습니다 일부는 배열의 범위를 사용하여 운영자에 대한 인덱스입니다. 예를 들어,를 검색하는 다섯 번째 요소의 배열을,당신은 wouldtype:

자인의 끝에서 계산한다., 예를 들어,”-1″은 배열의 마지막 요소. 를 표시하는 마지막의 세 가지 요소를 배열의,인덱스 오름차순으로 입력:

입력하는 경우 부정적인 인덱스 내림차순으로 출력 변경합니다.

그러나이 표기법을 사용할 때주의하십시오. 표기법은 경계에서 배열의 시작 부분까지 순환합니다.,

사용할 수 있는 플러스 사업자(+)을 결합한 범위의 목록과 함께 elementsin 훌륭한 기능들을 가지고 있습니다. 예를 들어,표시하는 요소에서 인덱스 0 위치,2,and4 을 통해 6,유형:

또한,여러 범위와 개별 요소를 사용할 수 있습니다 plusoperator., 예를 들어,list 요소의 영을 네 가지를,여섯과 theelement 에서 여덟 번째 위치 종류:

반복을 통해 배열 요소

사용할 수도 있습니다 반복 구조와 같은 ForEach,위한,그리고 동안 루프,torefer 을 배열의 요소. 예를 들어,ForEach 루프를 사용하여 표시하려면에 있는 요소$a배열을 입력:

Foreach 루프 반복을 통해 배열을 반환에서 각 값 배열의에 도달할 때까지 배열의 끝.,

For 루프는 배열의 요소를 검사하는 동안 카운터를 늘릴 때 유용합니다. 예를 들어,사용 루프 반환 모든 othervalue 열에서,종류:

사용할 수있는 루프를 표시하는 요소를 배열에까지 definedcondition 실 더 이상 사용할 수 없습니다., 예를 들어,요소를 표시하려면에서$a배열하는 동안 array index is less than4,유형:

속성의 배열

카운트 또는 길이 또는 LongLength

는 방법을 확인에 있는 항목 배열 를 사용하여Length속성 또는 그것의Count별칭입니다. Longlength는 배열에 than2,147,483,647 개 이상의 요소가 포함 된 경우 유용합니다.

Rank

배열의 차원 수를 반환합니다., PowerShell 의 대부분의 배열에는하나의 차원 만 있습니다. 심지어 생각할 때 당신을 구축 multidimensionalarray;다음 예제와 같이

다음 예제를 만드는 방법을 보여줍니다 진실로 다차원의 배열을 사용하여.Net Framework.

의 방법을 배열

지우기

설정 모든 요소 값이 기본값이 배열”s 요소의 유형입니다.Clear()메서드는 배열의 크기를 재설정하지 않습니다.,

다음 예에서$a는 객체 배열입니다.

이 예제에서는$intA은 명시적으로 입력을 포함하는 정수입니다.

ForEach

할 수 있습을 통해 반복하는 모든 요소를 배열에서 수행된 operationfor 각 요소의 배열입니다.

ForEach 메서드에는 서로 다른 작업을 수행하는 여러 가지 오버로드가 있습니다.,

ForEach(scriptblock expression)

ForEach(scriptblock expression,object arguments)

이 방법은 PowerShell v4 에 추가되었습니다.

참고

구문은 스크립트 블록의 사용을 필요로한다. Scriptblock 이 유일한 매개 변수 인 경우 괄호는 선택 사항입니다. 또한 공백이 없어야합니다.방법과 여는 괄호 또는 중괄호.

다음 예제는 foreach 방법을 사용하는 방법을 보여줍니다. 이 경우 배열에있는 요소의 제곱 값을 생성하는 것입니다.,

처럼-ArgumentList매개 변수의ForEach-Object,arguments매개변수의 통과 배열의 인수를 스크립트 blockconfigured 습니다.

ArgumentList 의 동작에 대한 자세한 내용은 about_splatting 을 참조하십시오.,

ForEach(type convertToType)

ForEach메서드를 사용할 수 있습을 신속하게 캐스트의 요소를 differenttype;다음 예는 어떻게 변환하는 목록의 문자열 날짜를유형입니다.

ForEach(string 속성)

ForEach(string 속성,개체 두 문자)

ForEach방법도 사용할 수 있습을 빠르게 검색,또는 설정 propertyvalues 에 있는 모든 항목에 대한 컬렉션입니다.,

ForEach(문자열을 지정)

ForEach(문자열이 지,물체 인수)

마지막으로ForEach방법을 사용할 수 있습을 실행하는 방법에 모든 항목에서 컬렉션입니다.

처럼-ArgumentList매개 변수의ForEach-Object,arguments매개변수의 통과 배열의 인수를 스크립트 blockconfigured 습니다.Windows PowerShell3 에서 시작하는

참고

.,0 속성을 검색하고 executingmethods 각 항목에 대한 컬렉션에서도 수행할 수 있습니다”를 사용하여 Methodsof 스칼라 개체고 컬렉션에”당신은에 대한 자세한 내용을 읽을 수 있는 hereabout_methods.

여기서

는 배열의 요소를 필터링하거나 선택할 수있게합니다. 스크립트를 해야 합 evaluateto 아무것도 다른 것보다:zero(0),빈 문자열$false또는$null가 요소를 표시한 후Where

하나가 대한 정의는Where방법입니다.,

참고.

구문에서 사용의 스크립트를 차단합니다. Scriptblock 이 유일한 매개 변수 인 경우 괄호는 선택 사항입니다. 또한 공백이 없어야합니다.방법과 여는 괄호 또는 중괄호.

Expression는 스크립트 블록하는 데 필요한 필터링,mode선택적 인수할 수 있는 추가 선택 기능,그리고numberToReturn선택적 인수할 수 있는 능력을 제한하는 방법은 많은 itemsare 에서 반환하는 필터입니다.,p>허용되는 값에 대한mode습니다:

  • 기본(0)-모든 항목
  • 첫 번째(1)반환 첫 번째 항목
  • Last(2)반환 마지막 항목
  • SkipUntil(3)-건너뛰 항목할 때까지 조건이 true, return the remainingitems
  • 까지(4)-모든 항목을 반환될 때까지 조건이 사실
  • Split(5)-배열을 반환 두 요소의
    • 첫 번째 요소를 포함 일치하는 항목
    • 두 번째 요소를 포함하고 나머지 항목

다음 예제를 선택하는 방법을 보여 줍니다 모든 이상한에서 숫자를 배열입니다.,

이 예시 표시하는 방법을 선택하는 문자열이 비어 있지 않습니다.

Default

Default모드 필터를 사용하여 항목을Expression스크립트 블록.

anumberToReturn가 제공되면 itemsto 반환의 최대 수를 지정합니다.,

참고.

모두Default모드First반환 모드 첫 번째(numberToReturn)항목과 같은 의미로 사용할 수 있습니다.

마지막

SkipUntil

SkipUntil모드를 모두 건너뜁체에서 컬렉션을 때까지 개체 passesthe 스크립트 블록 식 필터입니다. 그런 다음 테스트하지 않고 나머지 모든 collectionitems 를 반환합니다. 하나의 통과 항목 만 테스트됩니다.

이는 반환 된 컬렉션에는 테스트되지 않은 통과 및 통과하지 않은 항목이 모두 포함되어 있음을 의미합니다.,

반환 된 항목의 수는numberToReturn인수에 값을 전달하여 제한 될 수 있습니다.

까지

Until모드 반전SkipUntil모드입니다. 항목이 스크립트 블록 표현식을 전달할 때까지 acollection 의 모든 항목을 반환합니다. Itempasses 가 scriptblock 식을 통과하면Where메서드는 항목 처리를 중지합니다.

이것은Where메소드에서 첫 번째 전달되지 않은 항목 세트를 수신한다는 것을 의미합니다., 한 항목이 통과되면 나머지는 테스트되거나 반환되지 않습니다.

반환 된 항목의 수는numberToReturn인수에 값을 전달하여 제한 될 수 있습니다.

참고.

모두UntilSkipUntil작동하지 않는 전제 하에서 테스트 batchof 항목입니다.

Until는 첫 번째 패스 전에 항목을 반환합니다.

SkipUntil는 첫 번째 통과 항목을 포함하여 첫 번째 통과 후 모든 항목을 반환합니다.,

분할

Split모드는 컬렉션 항목을 두 개의 분리 된 컬렉션으로 분할하거나 그룹화합니다. Scriptblock 식을 통과하는 자들과 그렇지 않은 자들.

anumberToReturn가 지정된 경우 첫 번째 컬렉션에는 지정된 값을 초과하지 않도록 해당 항목을 포함합니다.

나머지 객체,심지어 표현식 필터를 통과하는 객체는 두 번째 컬렉션에서 반환됩니다.,

을 얻을 배열의 구성원

속성을 가져오려면 그 방법을 배열의와 같은 길이는 시설 및 SetValue 방법을 사용하여 InputObject 매개 변수의Get-Member합니다.

경우 관하여 배열Get-Member,PowerShell 항목을 보내 oneat 시간과Get-Member유형을 반환합의 각 항목에 대한 배열(ignoringduplicates).

InputObject 매개 변수를 사용할 때Get-Member배열의 멤버를 반환합니다.,

예를 들어 다음 명령은$aarrayvariable 의 멤버를 가져옵니다.

얻을 수 있습 회원의 배열을 입력하여는 쉼표(,)하기 전에 조금씩는 파이프Get-Member합니다. 쉼표는 배열을 만듭니다.배열의 배열에서 두 번째 항목. PowerShell 은 배열을 하나의 ata 시간으로 파이프하고Get-Member는 배열의 멤버를 반환합니다. 다음 두 가지처럼샘플.,

배열

을 변경할 수 있습 배열의 요소를 추가하고자 하는 요소를 배열,andcombine 두 배열의 값을 세 번 배열입니다.

값을 변경한 특정 요소의 배열을 지정합 이름 및 인덱스의 요소를 변경하려는,다음 사용하 theassignment 연산자(=)을 지정하는 새로운 가치에 대 한 요소입니다., 예를 들어,값을 변경하려면 두 번째 항목$a배열(인덱스위치 1)to10 입력:

사용할 수도 있습니다 SetValue 방법을 배열의 값을 변경. 다음 예제를 둘째 값을 변경(지수치 1)의$aarrayto500:

사용할 수 있습니다+=운영자를 추가하는 요소를 배열입니다. 다음 예제는$a배열에 요소를 추가하는 방법을 보여줍니다.,

참고.

할 때 사용하는+=operator,PowerShell 실제로 새로 생성 arraywith 값을 원래의 배열과 가치를 추가했습니다. 작업이 여러 번 반복되거나 배열의 크기가 너무 크면 성능 문제가 발생합니다.

이 쉽지 않은 요소를 삭제하는 배열에서,하지만 당신을 만들 수 있습 newarray 만 포함하는 선택된 요소의 기존 배열입니다., 예를 들어,$t배열을 가진 모든 요소$a배열을 제외한 값 index 위치에 2 개의 입력:

을 결합하는 두 개의 배열이 하나의 배열을 사용하여 플러스 사업자(+). Thefollowing 예제는 두 개의 배열을 만들고 결합한 다음 결합 된 배열을 표시합니다.

결과적으로$z배열에는 1,3,5 및 9 가 포함됩니다.,

배열을 삭제하려면 배열에$null값을 할당하십시오. Followingcommand 는$a변수에서 배열을 삭제합니다.

$a = $null

사용할 수도 있습니다Remove-Itemcmdlet 지만,값을 할당하의$nullisfaster,특히 큰 배열입니다.

0 또는 1 의 배열

Windows PowerShell3.0 에서 시작하여 0 또는 하나의 객체 모음에는 Count and Length 속성이 있습니다. 또한 oneobject 의 배열로 색인을 생성 할 수 있습니다., 이 기능을 사용하면 컬렉션이 두 개 미만의 항목을 가져올 것으로 예상되는 acommand 에서 발생하는 스크립팅 오류를 방지 할 수 있습니다.

다음 예는이 기능을 보여줍니다.

영 개체

중 하나 개체

인덱싱에 대한 지원 시스템입니다.튜플 객체

PowerShell6.1 배열과 유사한 튜플 객체의 인덱싱 된 액세스에 대한 지원을 추가했습니다.,예를 들어,

과는 달리 어레이 및 다른 개체 Tuple 체로 처리 단체할 때 통과하는 파이프라인을 통해 또는 통해 매개 변수는 supportarrays 의 개체입니다.자세한 내용은 시스템을 참조하십시오.튜플.

see

  • about_Assignment_Operators
  • about_Hash_Tables
  • about_Operators
  • about_For
  • about_Foreach
  • about_While


답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다