---
title: "Problem med TrimEnd() i C#"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/75147-problem-med-trimend-i-c"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Creep"
published: "2003-04-26T22:48:16.000Z"
updated: "2003-04-26T23:07:51.000Z"
replies: 2
views: 309
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/75147-problem-med-trimend-i-c"
---

# Problem med TrimEnd() i C#

## #1 — Creep, 2003-04-26T22:48Z

Hej, jag har nyss börjat med C# och håller på att bygga en Klient/Server applikation med sockets.

Har lite problem med den här koden:

```
Byte[] recieve = new Byte[64];
int i = mySocket.Receive(recieve, recieve.Length, 0);
string rece = System.Text.Encoding.ASCII.GetString(recieve);
```

När jag mottar en sträng som är 4 bytes lång (ett kommando till servern) och vill jämföra detta kommando i en if-sats fungerar inte detta, eftersom strängen inte bara består utav de 4 bytesen, utan även 60 "null-tecken". Har försökt använda denna funktion:

```
char[] unwanted = {' ',' ',' '};
string cmd = rece.TrimEnd(unwanted);
```

(Är lite osäker med den där arrayen med tre mellanrum, fick koden från en websida) Detta hjälper dock inte ett dugg, utan alla "mellanrum" i strängen är kvar. Har testat rece.Remove(4,60) och det funkar utmärkt, men vad händer när jag skickar ett kommando som är 10 bytes, hur gör jag då? Kan naturligtvis standardisera till 5 bytes eller nåt sånt, och aldrig göra arrayen recieve större än 5 bytes, men jag vill helst kunna ha läsliga kommandon skickade till servern, främst ur kodläslighetssynpunkt.

Skulle vara tacksam för hjälp med detta.

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

## #2 — niko, 2003-04-26T23:01Z

Det verkar finnas en överlagrad version av [GetString](http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemtextasciiencodingclassgetstringtopic2.asp) som tillåter att du anger startbyte och längd:

```
Byte[] recieve = new Byte[64];
int i = mySocket.Receive(recieve, recieve.Length, 0);
string rece = System.Text.Encoding.ASCII.GetString(recieve, 0, i);
```

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

## #3 — Creep, 2003-04-26T23:07Z

Fungerade alldeles utmärkt! Tack så mycket för ett snabbt svar såhär mitt i natten :)

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/75147-problem-med-trimend-i-c
