D'erreur si l'instruction ne peut pas convertir implicitement le type 'bool'
Je vais avoir un problème de conversion de type. J'ai essayé ce code (minimal, code plus tard):
string cityType = "City1";
int listingsToSearch = 42;
if (cityType = "City1") //<-- error on this line
{
listingsToSearch = 1;
}
Mais "si" instruction pour convertir les villes, mais je reçois:
impossible de convertir implicitement le type 'string' pour 'bool'
Ce que je suis en train de réaliser: j'ai un moteur de recherche qui a une zone de texte pour le texte de la recherche et de deux boutons radio pour la localisation de la recherche ( c'est à dire City1 ou City2 )
Lorsque je reçois le texte de la recherche et des boutons radio, ils sont sous la forme d'une chaîne de
string thesearchtext, thecitytype;
thesearchtext = HttpContext.Current.Request.QueryString["s"].ToString();
thecitytype = HttpContext.Current.Request.QueryString["bt"].ToString();
Lorsque je reçois les villes radiobutton ils seront dans le format de "city1" ou "city2".
Ce que je dois faire est de convertir la ville composants radiobutton dans un int de sorte que je puisse les utiliser dans ma recherche de dataset. J'ai besoin de convertir "city"
entier 1
et "city2"
entier 2
.
Je comprends que c'est probablement une simple conversion de type, cependant je n'arrive pas à le comprendre. Jusqu'à présent code avec if
me donne l'erreur ci-dessus:
int listingsToSearch;
if (thecitytype = "City1")
{
listingsToSearch = Convert.ToInt32(1);
}
else
{
listingsToSearch = Convert.ToInt32(2);
}
OriginalL'auteur Jason | 2009-05-16
Vous devez vous connecter pour publier un commentaire.
c# opérateur d'égalité est
==
et pas=
:.Equals
qui peut être d'une recommandation, si vous venez du monde Java, mais il n'y a pas de différences dans la comparaison de chaînes valides entre==
etEquals
(voir Pourquoi voudriez-vous utiliser des chaînes de caractères.Est égal à ==)OriginalL'auteur Rick Hochstetler
Voici un code que vous pouvez utiliser avec NUnit qui montre une autre technique pour le calcul de listingToSearch - Vous remarquerez aussi qu'avec cette technique, vous n'aurez pas besoin d'ajouter de l'extrait de if/else, etc que vous ajoutez d'autres villes - le test ci-dessous démontre que le code va juste essayer de le lire en entier commençant après la "Ville" dans le bouton radio étiquette. Aussi, voir tout en bas de ce que vous pourriez écrire dans votre code principal
Dans votre code, vous pouvez simplement écrire:
OriginalL'auteur dplante