Question: Im trying to split a String into an Array. In PHP I normally use explode -> profit. But I cant get it to work in C# ...

```
string fuel = "08,02,22,97,38,15";
string[] numbers = fuel.Split(new char[] { ',' });

```

He just splits on every character, fe: numbers[0]=0 and numbers[1]=8

What am I doing wrong?

EDIT: I used the fuel string as fuel[0] which gives the first char, hence the mistake. It shouldve been numbers[0] stupid mistake!

Answer: 
No you can't do this. The value of "code" is defined at run time, while the macro is replaced on compile time. You have to use different macro definitions.
If your compiler is gcc or MSVC, the following code might meet the purpose.

```
#define EXPAND( x ) x /* for MSVC */
#define CONCAT_( x, y ) x ## y
#define CONCAT( x, y ) CONCAT_( x, y )
#define CAR_( x, ... ) x
#define CAR(...) EXPAND( CAR_( __VA_ARGS__ ) )
#define VA_ARGS_(...) , ##__VA_ARGS__
#define VA_ARGS(...) VA_ARGS_( __VA_ARGS__ )
#define IS_EMPTY(...) CAR( VA_ARGS( __VA_ARGS__ ) 1 )

#define TRIPLE_LOOP(...) \
  CONCAT( TRIPLE_LOOP_, IS_EMPTY(__VA_ARGS__) )(__VA_ARGS__)
#define TRIPLE_LOOP_1(...) SOME_OTHER_CODE
#define TRIPLE_LOOP_(...) for(...) for(...) for(...) { __VA_ARGS__; }

```

`TRIPLE_LOOP_1` corresponds to empty argument case, and `TRIPLE_LOOP_`
corresponds to other cases.
Here is a test on [ideone](http://ideone.com/yHdPu).