Toon posts:

[C#] Verkort if-else statement

Pagina: 1
Acties:

Verwijderd

Topicstarter
Je kan in een aantal talen (C++, Perl, Java, noem maar op) gebruik maken van een verkort if-else statement. Dat ziet er dan ongeveer zo uit:
code:
1
conditie ? true-waarde | false-waarde;

Nou is het in MOO taal (een programmeer taal voor object georienteerde werelden) dus met een |, maar C++, Java en Perl maken gebruik van een dubbele punt. Ik heb dus het volgende stukje code geschreven:
code:
1
perms.Read == true ? tempitems[1] = "X" : tempitems[1] = "";

Maar dat werkt dus niet. Ik krijg hier een error, namelijk de volgende:
code:
1
Only assignment, call, increment, decrement, and new object expressions can be used as a statement.

Iemand een idee hoe ik dit gebruik in C#?

  • whoami
  • Registratie: December 2000
  • Laatst online: 21:42
code:
1
(perms.Read == true) ? tempitems[1] = "X" : tempitems[1] = "";

https://fgheysels.github.io/


  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
Je kan in een aantal talen (C++, Perl, Java, noem maar op) gebruik maken van een verkort if-else statement. Dat ziet er dan ongeveer zo uit:
het is geen verkort if-statement, maar een conditionele expressie. Je code wordt dus:
code:
1
tempitems[1] = (perms.Read == true ? "X" : "");

tempitems[1] = "X" is immers een statement terwijl er een expressie moet staan.
Nou is het in MOO taal (een programmeer taal voor object georienteerde werelden)
MOO :?

Verwijderd

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System;
class test
{
   public static int Main(String[] args) {
    System.String res;
    System.Boolean tx;

    tx = true;
    res = tx ? "waar" : "onwaar";
    Console.WriteLine("{0}",res);

    tx = false;
    res = tx ? "waar" : "onwaar";
    Console.WriteLine("{0}",res);

    return(0);
   }
}

  • whoami
  • Registratie: December 2000
  • Laatst online: 21:42
Op maandag 22 april 2002 21:47 schreef marcusk het volgende:


het is geen verkort if-statement, maar een conditionele expressie. Je code wordt dus:
code:
1
tempitems[1] = (perms.Read == true ? "X" : "");
Het hoeft toch niet perse op die manier geschreven te worden? of ben ik nu verkeerd?
MOO :?
de enige MOO die ik ken komt van een koe.

https://fgheysels.github.io/


Verwijderd

Op maandag 22 april 2002 21:50 schreef whoami het volgende:
Het hoeft toch niet perse op die manier geschreven te worden? of ben ik nu verkeerd?
De haakjes zijn idd overbodig maar wat wou je er nog meer aan veranderen?

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Op maandag 22 april 2002 21:50 schreef whoami het volgende:

[..]

Het hoeft toch niet perse op die manier geschreven te worden? of ben ik nu verkeerd?
[..]

de enige MOO die ik ken komt van een koe.
De ? : operator kan alleen waarden teruggeven en geen statements uitvoeren.

Verwijderd

Topicstarter
MOO staat voor Mud Object Orientated en Mud staat weer voor Multi-user Dungeon. Erg bekende is De Metro, wat vroeger weer van de DDS was, maar nu niet meer.

Anywayz, nu ffies weer ontopic. Welke manier is nou goed, want ik hoor hier weer twee mogelijkheden, of kan het beiden?

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
Op maandag 22 april 2002 21:53 schreef jmezach het volgende:
Anywayz, nu ffies weer ontopic. Welke manier is nou goed, want ik hoor hier weer twee mogelijkheden, of kan het beiden?
Probeer het ff zou ik zeggen.

  • whoami
  • Registratie: December 2000
  • Laatst online: 21:42
the marcusk way is the way to go.

https://fgheysels.github.io/


Verwijderd

Topicstarter
Okeej, dat werkt dus inderdaad. Nu ffies andere vraag. 'k had dit stukje code net ffies naar iemand gestuurt en die zei dat ik een element in de array op de verkeerde manier instelde. Maar ehm, voor zover ik weet is dit de enige manier om het te doen, maar misschien heb ik het mis. Hij vond dat dit stukje code een soort van halve C++ was :?

  • whoami
  • Registratie: December 2000
  • Laatst online: 21:42
Even lezen in de help.
Daar zal je zien staan dat de array-indexing vanaf 0 gebeurt. (Misschien doelde hij daarop? Dat je array[1] gebruikt ofzo)

https://fgheysels.github.io/


Verwijderd

Topicstarter
Jah, nogal logisch dat ik array[1] gebruikte. Ik wou natuurlijk ook het tweede element hebben, omdat ik het eerste element al ergens eerder een waarde had gegeven :).

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
Op maandag 22 april 2002 22:02 schreef jmezach het volgende:
Nu ffies andere vraag. 'k had dit stukje code net ffies naar iemand gestuurt en die zei dat ik een element in de array op de verkeerde manier instelde. Maar ehm, voor zover ik weet is dit de enige manier om het te doen, maar misschien heb ik het mis. Hij vond dat dit stukje code een soort van halve C++ was :?
Misschien een goed idee om dan aan diegene te vragen wat er volgens hem mis is ? :)

Verwijderd

Op maandag 22 april 2002 21:43 schreef jmezach het volgende:
code:
1
perms.Read == true ? tempitems[1] = "X" : tempitems[1] = "";

Maar dat werkt dus niet. Ik krijg hier een error, namelijk de volgende:
tempitems[1] = (perms.Read ? "X" : "");

voorbeeld uit werkende code geknipt:
code:
1
string sTabPadding = "".PadRight( ((16 - iLengthType) / 4) + ((iLengthType % 4) > 0 ? 1 : 0), '\t');

:P

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

[half-off-topic]

werkt dit ook in php?
[/half off topic]

Stop uploading passwords to Github!


  • Bart Coppens
  • Registratie: April 2000
  • Laatst online: 25-11-2021
ja (tuurlijk), kijk het maar na in de manual.

Copyright Auteur heeft Tweakers.net BV geen exclusieve licentie op bovenstaande post verleend. Voorafgaande en uitdrukkelijke schriftelijke toestemming van Tweakers.net BV is dus niet noodzakelijk voor het vermenigvuldigen van bovenstaande post


  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

Op maandag 22 april 2002 23:45 schreef Bart Coppens het volgende:
ja (tuurlijk), kijk het maar na in de manual.
waar kan ik dat vinden op php.net dan? niet bij de beschrijving van de if statements...

Stop uploading passwords to Github!


  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

Op dinsdag 23 april 2002 00:46 schreef marcusk het volgende:
http://www.php.net/manual/en/language.expressions.php
tenks :)

Stop uploading passwords to Github!

Pagina: 1