Blir galen..
jag hittar ingenstans hur man kolla längden av en sträng
i språket C# i VB är det lät Len(),Right(),Left()
Men vad e det i C# ?
43 svar · 649 visningar · startad av Nickemannen
Blir galen..
jag hittar ingenstans hur man kolla längden av en sträng
i språket C# i VB är det lät Len(),Right(),Left()
Men vad e det i C# ?
tack
Finns det några motsvarigheter till Right() och Left() då?
.Substring(System.Int32 startIndex , System.Int32 length) eller bara .Substring(System.Int32 startIndex)
Exempel kod:
string test = "hihi";
label1.text = test.Substring(1,2);
.Substring(System.Int32 startIndex , System.Int32 length) är alltså detsamma som mid()
.Substring(System.Int32 startIndex , System.Int32 length) är detsamma som left()
Finns alltså inget right() ?
red: /me skäms!
Hmm, nej så är det inte. :)
.Substring( System.Int32, System.Int32 ) är Mid() och Left().
.Substring( System.Int32 ) är liknande Right().
Exempel:
string str = "abcdef";
Console.WriteLine( str.Substring( 1 ) ); // Borde generera: "bcdef"
Console.WriteLine( str.Substring( 0, 1 ) ); // Borde generera: "a"
Console.WriteLine( str.Substring( 2, 4 ) ); // Borde generera: "cde"
Console.WriteLine( str.Substring( -1 ) ); // Kanske genererar: "f"
Jag är lite osäker, men så är det i andra programmeringsspråk. :)
Med ett minus-tecken framför, brukar liknande funktioner räkna bakifrån. Troligtvis så även i C#.
Tack renholm, precis vad jag vill ha.
Tackar SPiN. Du kan det även fast du inte kan det egentligen. Rätt chefigt. :e
SPiN skrev:
Hmm, nej så är det inte. :)
.Substring( System.Int32, System.Int32 ) är Mid() och Left().
.Substring( System.Int32 ) är liknande Right().Exempel:
string str = "abcdef"; Console.WriteLine( str.Substring( 1 ) ); // Borde generera: "bcdef" Console.WriteLine( str.Substring( 0, 1 ) ); // Borde generera: "a" Console.WriteLine( str.Substring( 2, 4 ) ); // Borde generera: "cde" Console.WriteLine( str.Substring( -1 ) ); // Kanske genererar: "f"Jag är lite osäker, men så är det i andra programmeringsspråk. :)
Med ett minus-tecken framför, brukar liknande funktioner räkna bakifrån. Troligtvis så även i C#.
Console.WriteLine( str.Substring( -1 ) ); // Kanske genererar: "f"
Stämmer inte eftersom startindex kan inte vara mindre än 0.
Console.WriteLine( str.Substring( 2, 4 ) ); // Borde generera: "cde"
Sedan genererar raden ovan "cdef".
Stämmer inte eftersom startindex kan inte vara mindre än 0.
Ok, jag var väldigt osäker på den - men jag tog en rövare. ;)
Console.WriteLine( str.Substring( 2, 4 ) ); // Borde generera: "cde"
Sedan genererar raden ovan "cdef".
Hmm, verkligen? Den borde ju plocka de bokstäver på index-nummer 2, 3 och 4 ( Dvs. cde )? Hmm... Är du verkligen säker? ;)
Kanske kan ta detta här också. Ni kan säkert.
Jag har ju som tidigare nämnt endast sysslat med C#-programmering, alltså ingen ASP .NET...
Använder man Console.WriteLine också när det gäller webbsidor?
Såg också på Vides sida webeye.nu att han använda Response.Redirect för att skicka vidare till annan sida. Är det C#?
Antar väl att VB.NET ser ut så.
Okej. Renholm, vet du kanske?
SPiN skrev:
Stämmer inte eftersom startindex kan inte vara mindre än 0.
Ok, jag var väldigt osäker på den - men jag tog en rövare. ;)
Console.WriteLine( str.Substring( 2, 4 ) ); // Borde generera: "cde"
Sedan genererar raden ovan "cdef".Hmm, verkligen? Den borde ju plocka de bokstäver på index-nummer 2, 3 och 4 ( Dvs. cde )? Hmm... Är du verkligen säker? ;)
Jupp helt säker.. har till och med test kört.
<%@ Page Language="C#" Debug="true" %>
<%
string str = "abcdef";
Response.Write( str.Substring( 2, 4 )); // Borde generera: "cde"
%>
Och resultatet blev "cdef".
Why, oh, why? Jag kan verkligen inte förstå hur det kan bli det... Du har ingen förklaring?
men det var för att jag gjorde en snabbis...
Känndes onödigt att sätta in str.Substring( 2, 4 ) i ett dataset och sedan retunera det via en DataList. Så använd Response.Write när du ska testa grejer.
Okej. Tackar för allt, SPiN och renholm.
Kommer med största sannolikhet behöva mer hjälp i framtiden, men det tar vi då.