A) 使用 Windows Mobile 6.0 SDK,您显然可以针对 Windows Mobile 设备,主要有两大类:Windows Mobile Professional(以前称为 Pocket PC)和 Windows Mobile Standard(以前称为 Smartphone)。主要区别在于 Professional 支持触摸屏而标准不支持,但您可以在两者上运行相同的二进制文件,并且这种区别在未来会消失。
C)(您跳过了 b)如果您使用的是 Windows Mobile SDK,则需要 Windows Mobile 设备,例如 T-Mobile Wing(专业版)或 T-Mobile Dash(标准版)
D) 所有的 Windows Mobile 设备都是这样宣传的,如果设备说它运行 Windows Mobile,那就没问题了。
e) 不,您还可以为 Symbian(诺基亚和索尼埃里克森)、Backberry、iPhone 和 Android 等进行开发。 iPhone和Android现在很流行,如果你是刚入手我推荐Android,你可以买T-Mobile G1或者Google ADP1(硬件一样),开发工具免费(eclipse + Java SDK + Android SDK )。
更新:
澄清e)
您需要针对每个目标平台使用不同的工具/设备,例如:
1) 对于 Windows Mobile,您需要一个 Windows Mobile 设备(即 T-Mobile Dash 或 T-Mobile Wing)、一个 Windows 桌面和 Visual Studio。
2) 对于 Android,您需要一个 Android 设备(即 T-Mobile G1 或 Google ADP1)、以下桌面之一(Windows、Linux 或 Mac)、Eclipse(免费下载)和 Android SDK(另一个免费下载)。
3) 对于 iPhone,您需要 iPhone 和 Mac 桌面,您可以从 Apple 网站下载 SDK。
Symbian 和黑莓很相似,您需要单独的设备和工具来为它们开发。
更新 #2:
大多数提到的平台和 SDK 都支持某种模拟,因此您可以在没有物理设备的情况下进行开发,但是我不建议采用这种方法,但根据我的经验,对于最简单的应用程序,实际设备的变化很大足以保证在您的目标设备上进行额外的测试。
更新#3:
还有一件事,如果您只想继续使用 C#,那么您唯一的选择是 Windows Mobile,因为这是唯一支持该语言的平台。对于 iPhone,您需要学习 Objective C,对于 BlackBerry 和 Android,您需要学习 Java,对于 Symbian,您可以学习 C++ 和 Java。