---
title: "Nybörjarfråga: Händer inget med Trim"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/135594-nybörjarfråga-händer-inget-med-trim"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Compusa"
published: "2005-10-11T19:51:07.000Z"
updated: "2005-10-12T19:33:16.000Z"
replies: 9
views: 573
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/135594-nybörjarfråga-händer-inget-med-trim"
---

# Nybörjarfråga: Händer inget med Trim

## #1 — Compusa, 2005-10-11T19:51Z

**Fråga 1**

Jag sitter med ett väldigt simpelt exempel. Man skriver in en sträng i konsolen som jag sedan kör en trim() på och därefter skriver ut till konsolen igen. Borde inte följande sträng "Hej" resultera till "H e j"?

```
using System;

namespace Plump.cSharp {

    class StringTest {
	
		static void Main(string[] args) {
			Console.WriteLine("Type in a string");

			string input = Console.ReadLine();
			input = input.Trim();

			Console.WriteLine("The string was " + input);
			Console.ReadLine();
		}

    }

}
```

**Fråga 2**
I java skriver man exempelvis följande när man skapar en sträng:
String blaha = "Hej";

I C# skriver man string blaha = "Hej"; Varför denna skillnande med litet respektive stort S på string?

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

## #2 — emission, 2005-10-11T19:57Z

Nej, Trim tar bort mellanslag i slutet och början av strängen.

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

## #3 — Compusa, 2005-10-11T19:58Z

Okej, tack emission, har du lust att besvara min andra fråga om du kan? La till den i inlägget lite sent ;)

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

## #4 — Mc Fetto, 2005-10-11T20:16Z

C# kan väl inte ta efter Java rakt av va? ;)

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

## #5 — emission, 2005-10-11T20:29Z

> **Compusa skrev:**
>
> **Fråga 2**
> I java skriver man exempelvis följande när man skapar en sträng:
> String blaha = "Hej";
> 
> I C# skriver man string blaha = "Hej"; Varför denna skillnande med litet respektive stort S på string?

Ja, varför inte? C# är inte Java, så MS kunde göra som de ville. I själva verket är "string" bara ett alias. Typen heter "System.String" och man kan använda den benämningen om man vill. Jag kan tänka mig att MS vill avdramatisera strängar lite, genom att få dem att se ut som vanliga primitiva typer.

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

## #6 — Compusa, 2005-10-12T07:54Z

Okej då "förstår" jag även om det inte känns helt logiskt. String är ett objekt men ska se ut att vara en primitiv typ...

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

## #7 — P, 2005-10-12T08:57Z

Mm de är ju lite speciella på andra sätt också. 

```
string s = "erik";
string k = s;
k = "kalle";
```

S behåller sitt värde,erik ,vilket det inte skulle göra i de flesta andra objekt.

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

## #8 — Compusa, 2005-10-12T09:35Z

Men du tilldelar aldrig s något annat än "erik" så det är väl inte så konstigt? k ger du först värdet "erik" för att sedan ge det värdet "kalle". Förstår inte vad som är konstigt så du får gärna förtydliga om du orkar ;)

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

## #9 — P, 2005-10-12T12:20Z

> **Compusa skrev:**
>
> Men du tilldelar aldrig s något annat än "erik" så det är väl inte så konstigt? k ger du först värdet "erik" för att sedan ge det värdet "kalle". Förstår inte vad som är konstigt så du får gärna förtydliga om du orkar ;)

Man brukar göra skillnad på två olika typer av allokering, på "heapen" och på "stacken". När du lägger något på stacken så blir det i stil med:

```
Int i = 10; // i = 10
Int j = i; // j = 10
j = 20; // j = 20 och i = 10
```

Medan 

```
ArrayList l1 = new ArrayList();
ArrayList l2= new ArrayList();
l1.add("hej");
l2 = l1;
l2.add("hej2);
// Om man kontrollerar så ser man att l1 och l2 innehåller samma värden, "hej" och "hej2".
```

Dessa typer kallas för referensetyper.

Trots vad man kan tro om String klassen så är den en referenstyp, detta innebär att man kan behöva använda någon annan klass (StringBuilder) om man arbetar mycket med stränghantering i något program.

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

## #10 — Compusa, 2005-10-12T19:33Z

Okej, man får tacka för svaret :)

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/135594-nybörjarfråga-händer-inget-med-trim
