List.FindAll with predicate : list « Collections « Visual C++ .NET

Home
Visual C++ .NET
1.2D
2.Class
3.Collections
4.Data Type
5.Database ADO.net
6.Delegate
7.Development
8.File Directory
9.Function
10.Generics
11.GUI Form
12.Language Basics
13.Network
14.Reflection
15.Security
16.Statement
17.Structure
18.Thread
19.XML
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Visual C++ .NET » Collections » list 
List.FindAll with predicate
 

#include "stdafx.h"
using namespace System;
using namespace System::Collections::Generic;

ref class MyClass{
public:
    String^ Value;

    MyClass(String^ in);
    virtual String^ ToString() override;

    static bool hasX(MyClass^ val);
    static void formatString(MyClass^ val);
};

MyClass::MyClass(String^ in: Value(in) {}

String^ MyClass::ToString() { return Value; }

bool MyClass::hasX(MyClass^ val)
{
    return val->Value->ToUpper()->IndexOf("X"0;
}

void MyClass::formatString(MyClass^ val)
{
    val->Value = String::Format("** {0} **", val->Value);
}

void main(){
    List<MyClass^>^ alist = gcnew List<MyClass^>();

    alist->Add(gcnew MyClass("One"));
    alist->Add(gcnew MyClass("-"));
    alist[1= gcnew MyClass("Three");

    for (int i = 0; i < alist->Count; i++)
        Console::WriteLine("{0} ", alist[i]);

    List<MyClass^>^ x = alist->FindAll(gcnew Predicate<MyClass^>(MyClass::hasX));

}

   
  
Related examples in the same category
1.Add to list with push_front
2.Loop through a list with for loop
3.Get the first element in a list
4.Insert to a list
5.For each loop and list
6.Merge lists by greater-functor
7.Pointer for list element
8.Splice a list
9.Add your class to a generic List
10.Insert element to a list
11.Adding one list to another list
12.For loop and element count
13.List.ForEach and Action
14.Insert from .NET generic List
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.