나는 대소 문자 구분은 IList를 만들려면 다음 코드를하려고 해요에서 IList의
procedure TForm1.ListButtonClick(Sender: TObject);
var
MyList: IList<string>;
begin
MyList := TCollections.CreateList<string>(TStringComparer.OrdinalIgnoreCase());
MyList.AddRange(['AAA', 'BBB', 'CCC']);
Memo1.Lines.Add(MyList.IndexOf('aaa').ToString);
end;
같이 IndexOf 호출이 항상 반환 그러나 -1. 이게 효과가 있니? 어떤 제안도 감사합니다.
업데이트 : 비교자를 정렬하는 데 사용하는 것처럼 보이지만 IndexOf는 그렇지 않습니다. 별도의 "EqualityComparer"가 IndexOf에 사용되므로 질문을 변경하는 방법이됩니까?
갱신 2 : 난 그냥 목록은 다음과 같이 만들 수 있습니다 요한의 대답에 추가하고 싶었 :
MyCIList := TCaseInsensitiveList<string>.Create(
TStringComparer.OrdinalIgnoreCase(),
TStringComparer.OrdinalIgnoreCase());
좋아요! 이 기능이 필요합니다. 언급 한 spring4d spring4d 1.2.1 핫픽스를 찾을 수 없지만, 스프링 1.2는 날짜가 2017-11-03입니다. –