Hej! Skriv en IsEmpty funktion i din klass. Eller se till så att din web service returnerar NULL. Tyvärr är det inte min webservce så den kan jag inte påverka. kolla i din proxy, där finns en klass som motsvarar dina returvärden. Att en sträng är tom innebär inte att den är null, utan bara att den inte innehåller några tecken. därför kollar man både för null och för längd för att se om den är tom eller inte. Toppen! Eftersom IsEmpty inte är en funktion utan det är en property. Variabel utan innehåll.
Har byggt en asp.net applikation som får en del av sina värden från en asp-sida samt några från en webservice. Sedan jämför den värdena mot varandra.
Dock har det visa sig att i vissa fall kommer det tillbaka tomma svar från webbservicen. När de sen ska jämföras så blir det ju fel eftersom en av strängarna som jämförs är tom.
Hur gör jag för att kontrollera om det finns något värde i i strängarna som ska jämföras?
<code>
if (strAddress == null)
{
.
.
.
}
</code>
Fungerar inte av någon anledning.
Tack på förhand
/FredrikSv: Variabel utan innehåll.
Sv:Variabel utan innehåll.
Det där med IsEmpty hur menar du? Jag har tittat runt lite men jag är inte säker på att jag förstår hur det fungerar.
Har du något enkelt exempel eller någon bra länk att titta på?Sv: Variabel utan innehåll.
lägg till en IsEmpty property där. typ:
public class Address {
public bool IsEmpty {
get { return ( ( this.street == null || this.street.Length < 1 ) && ( this.city == null || this.city.Length < 1) );
}
}
Sv: Variabel utan innehåll.
if (strAddress.Length == 0) {Sv:Variabel utan innehåll.
Sv: Variabel utan innehåll.
Tack för alla svar nu funkar det!
Jag börjar få en större förståelse för OOP också.
Fast jag har en följdfråga angående koden (antagligen en nybörjar fråga men ändå).
<code>
public class Address {
public bool IsEmpty {...}
public bool IsEmpty {
get {...}
get { return ( ( this.street == null || this.street.Length < 1 ) && ( this.city == null || this.city.Length < 1) );
}
}
</code>
Hur kommer det sig att du inte har () efter IsEmpty?Sv:Variabel utan innehåll.
Properties går att jämföra med "fält med beteenden", dvs fält där vi ändrar på hur tilldelnings- och läsbeteendet skall gå till.
Om du kollar i tex Intellisense så ser du också att den har en helt annan ikon än vad en metod har.