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: 
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).
You can do this:

```
#define TRIPLE_LOOP(code)\
for(...) for(...) for(...) { code }\

#define TRIPLE_LOOP()\
SOME_OTHER_CODE

```

And i think it will work:)