C#好。
两种语言是有相当多的共同点的,不过在0基础的情况下还是建议有C的基础比较好。
C#隐藏了指针(但并不是不能使用),,而指针的思想对于任何程序员都是必要的。学习C语言会让的头脑中内置指针,内存分配,递归,算法设计等重要思想,这些思想使得学习任何语言都非常方便。
C#和C的语法几乎是互通的,只不过C#是完全面向对象的,C是面向过程的。
C#的很多内容都可以用C去映射, 比如委托类似于指向函数的指针, 结构体相当于typedef,类相当于type*, 接口则是一个全新的概念了,这体现着一定的编程思想的转换。
当然从头开始学C#也没问题,如果的理解能力够强的话...,或者学到一半回头看看C或C++,也能有助于对C#的理解。