---
title: "Skall replace vara så konstigt???"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/74859-skall-replace-vara-så-konstigt"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "saw"
published: "2003-04-24T11:32:52.000Z"
updated: "2003-04-24T20:22:15.000Z"
replies: 12
views: 293
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/74859-skall-replace-vara-så-konstigt"
---

# Skall replace vara så konstigt???

## #1 — saw, 2003-04-24T11:32Z

Försöker att göra en replace.
I VB är ju detta en baggis men i C# har jag inte hittat något så enkelt.

Jag försökte så här:

```
public static string Byta(string fileName)
		{
			string tString;
			tString = Replace(fileName, "'", "''");
			return Byta(tString);			
		}
```

Och får då Error:
The name 'replace' does not exist in the class or namespace 'SAW.kontroller'
Evtersom jag är helt nybörjare, vad betyder detta och hur avhjälpa?

Permalänk: https://www.webforum.nu/p/74859

## #2 — Marcus E, 2003-04-24T12:16Z

I C# finns inga globala funktioner.
Prova
tString = fileName.Replace("'", "''");

Permalänk: https://www.webforum.nu/p/1023699

## #3 — saw, 2003-04-24T12:45Z

Nej tyvär.
Så här har jag det nu:
I formuläret (en  testknapp)

```
kontroller.Byta(textBoxFirma.Text);
```

I classen kontroller

```
		public static string Byta(string fileName)
		{		
			string tString = fileName; 
			tString = fileName.Replace("'", "''");
			return Byta(tString);
		}
```

Detta fungerar inte, applikationen fryser.
Måste jag först kolla om "'" finns?

Permalänk: https://www.webforum.nu/p/1023710

## #4 — Grynet, 2003-04-24T12:58Z

Det låter som om du lyckats göra en oändlig loop. Utan att testa så fungerar antagligen Replace så att den hela tiden börjar från början och letar upp det värde du vill byta ut. Eller så fortsätter den från den punkt där den nyss byte ut ett värde och stegar sen för att komma in i det andra ' du stoppade in. Effekten är den samma ..en oändlig loop.

Du kan lösa detta genom att replace med ett annat värde istället för ' tex ´. 

eller göra en egen loop (ej testad)

```
for(int i=0;i<tString.Length;i++) {
 if((char)tString[i] == '\\'') {  //\\' tror jag funkar
    tString = thisString.Insert(i, "'");  //lägger in ett ' till
  }
  i++;  //ökar i med ett så att vi inte snubblar in på andra inlagda ':et
}
```

Permalänk: https://www.webforum.nu/p/1023716

## #5 — saw, 2003-04-24T13:12Z

Skall verkeligen en enkel Replace behöva vara så inveklad??
Du skall ha tack för att du försöker men jag får ett error:

```
E:\C#\SAW\SAW\kontroller.cs(52): The type or namespace 
name 'thisString' could not be found (are you missing a using
 directive or an assembly reference?)
```

Permalänk: https://www.webforum.nu/p/1023729

## #6 — niko, 2003-04-24T13:15Z

```
		public static string Byta(string fileName)
		{		
			string tString; 
			tString = fileName.Replace("'", "''");
			return [b]tString[/b]; //OBS!
		}
```

Permalänk: https://www.webforum.nu/p/1023735

## #7 — Grynet, 2003-04-24T13:16Z

Den är inte inveklad gäller bara att man tänker till innan man gör saker när man programmerar annars händer lätt såna här fel.

Angående felmedellandet. Läs det en gång till. På rad 52 så kan den inte hitta typen eller namespacet 'thisString'. (Skriver inte såhär för att vara sarkastisk utan för att du själv skall tänka efter och komma på vad som är fel)

Permalänk: https://www.webforum.nu/p/1023737

## #8 — Grynet, 2003-04-24T13:17Z

hee, niko hittade nog felet. Då antog jag fel då ;)

Permalänk: https://www.webforum.nu/p/1023738

## #9 — saw, 2003-04-24T13:30Z

Grynet!
Ang ditt försök. Jag försökte att lägga in string thisString vilket jag
antar borde vara ett måste (att deklarera datatypen).
Niko!
Tack för att du återigen försöker att hjälpa mig, men ingenting händer.
(applikationen fryser iallafall inte)
Nu ser det alltså ut såhär:

```
//under knappen
kontroller.Byta(textBoxFirma.Text);

// i classfilen
public static string Byta(string fileName)
		{		
			string tString; 
			tString = fileName.Replace("'", "''");
			return tString; 
		}
```

Det känns på något sätt som om den inte är "kopplad"

Permalänk: https://www.webforum.nu/p/1023757

## #10 — NETwork, 2003-04-24T13:41Z

Var gör du av värdet du returnerar då?

```
//under knappen
[b] string s = [/b]kontroller.Byta(textBoxFirma.Text);

// i classfilen
public static string Byta(string fileName)
  {		
    string tString; 
    tString = fileName.Replace("'", "''");
    return tString; 
}
```

Permalänk: https://www.webforum.nu/p/1023770

## #11 — saw, 2003-04-24T13:54Z

Jo men nu...
När jag gjorde såhär:

```
string s = kontroller.Byta(textBoxFirma.Text);
			textBoxFirma.Text=s;
```

Tack för eran hjälp

Permalänk: https://www.webforum.nu/p/1023784

## #12 — NETwork, 2003-04-24T13:59Z

Undik att skapa variabler som inte behövs. gör så här istället:

```
textBoxFirma.Text = kontroller.Byta(textBoxFirma.Text);
```

Permalänk: https://www.webforum.nu/p/1023794

## #13 — saw, 2003-04-24T20:22Z

Tack, du har säkert alldeles rätt, det låter ju logiskt.

Permalänk: https://www.webforum.nu/p/1024065

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/74859-skall-replace-vara-så-konstigt
