ArrayList contains method in c#
Concept : Use of Equals() method in C#
Look the below code and output
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
{
class employee
{
public string name;
public string id;
public employee(String name, String id)
{
this.name = name;
this.id = id;
}
}
class ArrayTest
{
static void Main()
{
ArrayList ar = new ArrayList();
ar.Add("kumud");
ar.Add("Raju");
ar.Add("yugdeep");
Console.WriteLine("Array Contain " + ar.Contains("kumud");
}
}
}
Output :
Array Contain True
Now again look the code below :
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
{
class employee
{
public string name;
public string id;
public employee(String name, String id)
{
this.name = name;
this.id = id;
}
}
class ArrayTest
{
static void Main()
{
ar.Add(new employee("sandeep","3"));
ar.Add(new employee("yugdeep", "3"));
ar.Add(new employee("kumud", "3"));
Console.WriteLine("Array Contain " + ar.Contains(new employee("sandeep","3"));
}
}
}
Output :
Array Contain False
Concept : In case of when we adding string object its come true but in case of adding employe and searching for that particular
object it comes false , reason behind is that string by default override the object's Equal() method in such way that
it compare two string and return true but in case of employee class object there is no equals() method override
ArrayList contain method search the Equals() method in object .so in case of employee there is no Equals() method mechanism
so it coming False
Now we override Equals() method
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
{
class employee
{
public string name;
public string id;
public employee(String name, String id)
{
this.name = name;
this.id = id;
}
public override bool Equals(Object o)
{
employee e = (employee)o;
return (e.name.Equals(this.name));
}
}
class ArrayTest
{
static void Main()
{
ArrayList ar = new ArrayList();
ar.Add(new employee("sandeep","3"));
ar.Add(new employee("yugdeep", "3"));
ar.Add(new employee("kumud", "3"));
Console.WriteLine("Array Contain " + ar.Contains(new employee("sandeep","3")); }
}
}
Output :
Array Contain True
Concept : Use of Equals() method in C#
Look the below code and output
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
{
class employee
{
public string name;
public string id;
public employee(String name, String id)
{
this.name = name;
this.id = id;
}
}
class ArrayTest
{
static void Main()
{
ArrayList ar = new ArrayList();
ar.Add("kumud");
ar.Add("Raju");
ar.Add("yugdeep");
Console.WriteLine("Array Contain " + ar.Contains("kumud");
}
}
}
Output :
Array Contain True
Now again look the code below :
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
{
class employee
{
public string name;
public string id;
public employee(String name, String id)
{
this.name = name;
this.id = id;
}
}
class ArrayTest
{
static void Main()
{
ar.Add(new employee("sandeep","3"));
ar.Add(new employee("yugdeep", "3"));
ar.Add(new employee("kumud", "3"));
Console.WriteLine("Array Contain " + ar.Contains(new employee("sandeep","3"));
}
}
}
Output :
Array Contain False
Concept : In case of when we adding string object its come true but in case of adding employe and searching for that particular
object it comes false , reason behind is that string by default override the object's Equal() method in such way that
it compare two string and return true but in case of employee class object there is no equals() method override
ArrayList contain method search the Equals() method in object .so in case of employee there is no Equals() method mechanism
so it coming False
Now we override Equals() method
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
{
class employee
{
public string name;
public string id;
public employee(String name, String id)
{
this.name = name;
this.id = id;
}
public override bool Equals(Object o)
{
employee e = (employee)o;
return (e.name.Equals(this.name));
}
}
class ArrayTest
{
static void Main()
{
ArrayList ar = new ArrayList();
ar.Add(new employee("sandeep","3"));
ar.Add(new employee("yugdeep", "3"));
ar.Add(new employee("kumud", "3"));
Console.WriteLine("Array Contain " + ar.Contains(new employee("sandeep","3")); }
}
}
Output :
Array Contain True
No comments:
Post a Comment