Caution
this page is work in progress

VL for C# Programmers

C# Keywords

abstract images\vl for c programmers b4959.png

abstract class Foo
{
  abstract public int Bar();
}

VL does not support class inheritance and therefore also not the concept that comes with this keyword.

as images\vl for c programmers b4959.png

object foo = 1;
var foo = foo as int;

Use the CastAs node.

base images\vl for c programmers b4959.png

VL does not support class inheritance and therefore also not the concept that comes with this keyword.

break images\vl for c programmers b4959.png

for (int i = 0; i < 10; i++)
{
  if (i % 2 == 0)
    break;
  Console.Beep();
}

See Special Loop Pins for how to use a Break output, to break out of a loop in vl.

case images\vl for c programmers b4959.png

See switch

catch images\vl for c programmers b4959.png

See try

checked images\vl for c programmers b4959.png

This keyword does not have an equivalent in vl. If you find it necessary to use its functionality, you can still write C# code that can be used in vl, see Writing Nodes in C#.

class images\vl for c programmers b4959.png

const images\vl for c programmers b4959.png

This keyword does not have an equivalent in vl. If you find it necessary to use its functionality, you can still write C# code that can be used in vl, see Writing Nodes in C#.

continue images\vl for c programmers b4959.png

This keyword does not have an equivalent in vl. If you find it necessary to use its functionality, you can still write C# code that can be used in vl, see Writing Nodes in C#.

decimal images\vl for c programmers b4959.png

default images\vl for c programmers b4959.png

See switch

delegate images\vl for c programmers b4959.png

See Delegates.

do images\vl for c programmers b4959.png

See while

double images\vl for c programmers b4959.png

Called Float64 in vl, part of category Primitives.

Note
Only showing in the nodebrowser, if the Advanced aspect is activated.

else images\vl for c programmers b4959.png

See if

enum images\vl for c programmers b4959.png

enum Alignment {Left, Middle, Right};

While existing enums can certainly be used in VL, one thing you cannot yet do in VL, is define a custom enum. If you need a custom enum, for now you’ll have to define it using C# code. See Writing Nodes in C# for how to do this.

event images\vl for c programmers b4959.png

Instead of events, VL uses a similar concept called Observables. See Reactive for details.

explicit images\vl for c programmers b4959.png

This keyword does not have an equivalent in vl. If you find it necessary to use its functionality, you can still write C# code that can be used in vl, see Writing Nodes in C#.

extern images\vl for c programmers b4959.png

This keyword does not have an equivalent in vl. If you find it necessary to use its functionality, you can still write C# code that can be used in vl, see Writing Nodes in C#.

finally images\vl for c programmers b4959.png

See try

fixed images\vl for c programmers b4959.png

This keyword does not have an equivalent in vl. If you find it necessary to use its functionality, you can still write C# code that can be used in vl, see Writing Nodes in C#.

float images\vl for c programmers b4959.png

Called Float32 in vl, part of category Primitives.

for images\vl for c programmers b4959.png

See Loops.

foreach images\vl for c programmers b4959.png

See Loops.

goto images\vl for c programmers b4959.png

This keyword does not have an equivalent in vl. If you find it necessary to use its functionality, you can still write C# code that can be used in vl, see Writing Nodes in C#.

if images\vl for c programmers b4959.png

See Conditions.

implicit images\vl for c programmers b4959.png

This keyword does not have an equivalent in vl. If you find it necessary to use its functionality, you can still write C# code that can be used in vl, see Writing Nodes in C#.

in images\vl for c programmers b4959.png

This keyword does not have an equivalent in vl. If you find it necessary to use its functionality, you can still write C# code that can be used in vl, see Writing Nodes in C#.

int images\vl for c programmers b4959.png

Called Integer32 in vl, part of category Primitives.

interface images\vl for c programmers b4959.png

See Interfaces.

internal images\vl for c programmers b4959.png

is images\vl for c programmers b4959.png

This keyword does not have an equivalent in vl. If you find it necessary to use its functionality, you can still write C# code that can be used in vl, see Writing Nodes in C#.

lock images\vl for c programmers b4959.png

This keyword does not have an equivalent in vl. If you find it necessary to use its functionality, you can still write C# code that can be used in vl, see Writing Nodes in C#.

long images\vl for c programmers b4959.png

Called Integer64 in vl, part of category Primitives.

Note
Only showing in the nodebrowser, if the Advanced aspect is activated.

namespace images\vl for c programmers b4959.png

The concept of a namespace is called Category in vl.

new images\vl for c programmers b4959.png

var date = new DateTime(2002, 12, 24);

The new keyword denotes a constructor, meaning the operation that creates a new instance of a object. In VL all constructors of classes and records are called Create.

The equivalent of creating an instance of the DateTime class, in VL looks like this:name:

..\..\images\vl for c programmers 79579.png

null images\vl for c programmers b4959.png

Part of the category Primitive.Object

Note
Only showing in the nodebrowser, if the Advanced aspect is activated.

operator images\vl for c programmers b4959.png

out images\vl for c programmers b4959.png

override images\vl for c programmers b4959.png

VL does not support class inheritance and therefore also not the concept that comes with this keyword.

params images\vl for c programmers b4959.png

private images\vl for c programmers b4959.png

protected images\vl for c programmers b4959.png

VL does not support class inheritance and therefore also not the concept that comes with this keyword.

public images\vl for c programmers b4959.png

readonly images\vl for c programmers b4959.png

This keyword does not have an equivalent in vl. If you find it necessary to use its functionality, you can still write C# code that can be used in vl, see Writing Nodes in C#.

ref images\vl for c programmers b4959.png

return images\vl for c programmers b4959.png

sbyte images\vl for c programmers b4959.png

Called Integer8 in vl, part of category Primitives.

Note
Only showing in the nodebrowser, if the Advanced aspect is activated.

sealed images\vl for c programmers b4959.png

This keyword does not have an equivalent in vl. If you find it necessary to use its functionality, you can still write C# code that can be used in vl, see Writing Nodes in C#.

short images\vl for c programmers b4959.png

Called Integer16 in vl, part of category Primitives.

Note
Only showing in the nodebrowser, if the Advanced aspect is activated.

sizeof images\vl for c programmers b4959.png

stackalloc images\vl for c programmers b4959.png

This keyword does not have an equivalent in vl. If you find it necessary to use its functionality, you can still write C# code that can be used in vl, see Writing Nodes in C#.

static images\vl for c programmers b4959.png

This keyword does not have an equivalent in vl. If you find it necessary to use its functionality, you can still write C# code that can be used in vl, see Writing Nodes in C#.

struct images\vl for c programmers b4959.png

switch images\vl for c programmers b4959.png

VL does not have a switch statement yet. See Conditions for workarounds.

this images\vl for c programmers b4959.png

throw images\vl for c programmers b4959.png

try images\vl for c programmers b4959.png

Support for exception handling using try/catch/finally is still experimental in VL.

Note
Only showing in the nodebrowser, if the Experimental aspect is activated.

typeof images\vl for c programmers b4959.png

uint images\vl for c programmers b4959.png

Called Integer32 (Unsigned) in vl, part of category Primitives.

Note
Only showing in the nodebrowser, if the Advanced aspect is activated.

ulong images\vl for c programmers b4959.png

Called Integer64 (Unsigned) in vl, part of category Primitives.

Note
Only showing in the nodebrowser, if the Advanced aspect is activated.

unchecked images\vl for c programmers b4959.png

This keyword does not have an equivalent in vl. If you find it necessary to use its functionality, you can still write C# code that can be used in vl, see Writing Nodes in C#.

unsafe images\vl for c programmers b4959.png

This keyword does not have an equivalent in vl. If you find it necessary to use its functionality, you can still write C# code that can be used in vl, see Writing Nodes in C#.

ushort images\vl for c programmers b4959.png

Called Integer16 (Unsigned) in vl, part of category Primitives.

Note
Only showing in the nodebrowser, if the Advanced aspect is activated.

using images\vl for c programmers b4959.png

virtual images\vl for c programmers b4959.png

VL does not support class inheritance and therefore also not the concept that comes with this keyword.

void images\vl for c programmers b4959.png

volatile images\vl for c programmers b4959.png

This keyword does not have an equivalent in vl. If you find it necessary to use its functionality, you can still write C# code that can be used in vl, see Writing Nodes in C#.

while images\vl for c programmers b4959.png

VL doesn’t have a while loop yet. See Loops for an easy workaround.

Contextual Keywords

add

alias

async/await

by

descending

dynamic

equals

from

get

global

group

into

join

let

nameof

on

orderby

partial

remove

select

set

value

var

when

where

yield

Concepts

Nullable

When referencing an external library, you may encounter input or output pins of type Nullable<T>. To deal with them you need to reference the System.Runtime assembly from the GAC.

This gives you access to the nodes HasValue and Value to read from nullable outputs. To set a value to an input that requires a Nullable, it is enough to put a CastAs node in between the value and the nullable input.

Note
CastAs only shows up with the Advanced aspect enabled in the nodebrowser.

Variables

Lambda

Observable

See Reactive.

Task

Enumerator

When referencing an external library, you may encounter collection types, that do not inherit from Sequence and as such cannot simply be used with VL’s ForEach loop.

Most likely those collections will still support an Enumerator. Here is how you can deal with an enumerator in VL:

MoveNext, Current

results matching ""

    No results matching ""