---
title: "Vad betyder denna syntax?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/149584-vad-betyder-denna-syntax"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "P"
published: "2006-07-31T14:38:26.000Z"
updated: "2006-07-31T15:58:12.000Z"
replies: 3
views: 451
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/149584-vad-betyder-denna-syntax"
---

# Vad betyder denna syntax?

## #1 — P, 2006-07-31T14:38Z

```
                Person p = new Person();

                p.Id = (DBNull.Value == record["PersonID"]) ?
                    0 : (int)record["PersonID"];
```

Har aldrig sett att man kan använda sig av "?" och ":". Vad betyder det?

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

## #2 — cyprys, 2006-07-31T14:45Z

var = (Sanningsvillkor) ? vars värde om Sanningsvillkoret = True : vars värde om False;

ex

```
v = (1) ? 42 : 8
// v är 42

v = (0) ? 42 : 8
// v är 8

v = (64==64) ? 42 : 8
// v är 42
```

Helt enkelt en mysig förkortning av 

```
if (true) v = a
else v = b
```

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

## #3 — tydal, 2006-07-31T14:52Z

Det där med ? och : kommer från C vilket C# bygger på.

C# betyder för övrigt C + 0,5 medan C++ betyder C + 1.

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

## #4 — Choronzon, 2006-07-31T15:58Z

Kallas allmänt för "Ternary operator"

ex. <http://weblogs.asp.net/dburke/archive/2004/03/26/97195.aspx>

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/149584-vad-betyder-denna-syntax
