2
juin
2005
Différence entre les opérateurs is et as
juin
2005
En C#, l’opérateur is est uutilisé pour déterminé si un objet est d’un type particulier.
Ex:
public void TestType(Control ctrl)
{
if (ctrl is TextBox)
{
TextBox tb = (TextBox)ctrl;
}
}
{
if (ctrl is TextBox)
{
TextBox tb = (TextBox)ctrl;
}
}
Cette méthode, qui fonctionne très bien, n’est par contre pas la plus optimisée. En effet, le type de l’objet (dans notre cas TextBox), est vérifié 2 fois: une première fois par l’opérateur is et une deuxième fois lors du cast.
Pour éviter cette double vérification, il existe l’opérateur as.
Ex:
public void TestType(Control ctrl)
{
TextBox tb = ctrl as TextBox;
if (tb != null)
{
// tb est une TextBox
}
}
{
TextBox tb = ctrl as TextBox;
if (tb != null)
{
// tb est une TextBox
}
}
Ici, on ne teste qu’une seule fois le type de ctrl et on regarde si tb est null: dans ce cas, il ne s’agit pas d’une TextBox et dans le cas contraire, il s’agit bien d’un objet de type TextBox.
Voila, j’espère que cela vous explique un peu mieux ces 2 opérateurs
Bon courage.
A+
Articles récents
- [Mix 07] Annonces diverses dont la possibilité de développer des applications SilverLight avec du code managé !
- [WPF] Article d’introduction à Windows Presentation Foundation Everywhere
- [WPF] Les CTP de WPF /E et Expression Studio sont en ligne !
- [Event] Première rencontre du Dotnet User Group (DUG)
- [.NET 3] Présentation du Framework .NET 3.0
Commentaires récents
- [Tips] Ouvrir un fichier vhd sans lancer une VPC dans
- [WPF] Article d’introduction à Windows Presentation Foundation Everywhere dans
- [WPF] Article d’introduction à Windows Presentation Foundation Everywhere dans
- Visual Basic Express 2005 et Visual Web Developer Express 2005 disponibles EN FRANCAIS ! dans
- [.NET 3] Présentation du Framework .NET 3.0 dans
Archives
- avril 2007
- décembre 2006
- novembre 2006
- octobre 2006
- septembre 2006
- août 2006
- juillet 2006
- juin 2006
- mai 2006
- avril 2006
- mars 2006
- février 2006
- janvier 2006
- décembre 2005
- novembre 2005
- octobre 2005
- septembre 2005
- août 2005
- juillet 2005
- juin 2005
- mai 2005
- avril 2005
- mars 2005
- février 2005
- janvier 2005
- décembre 2004
- novembre 2004
- octobre 2004