Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 应用程序设置文件应该与用不同语言编写的相同程序一起工作吗_C#_Programming Languages_Interop_Settings_Application Settings - Fatal编程技术网

C# 应用程序设置文件应该与用不同语言编写的相同程序一起工作吗

C# 应用程序设置文件应该与用不同语言编写的相同程序一起工作吗,c#,programming-languages,interop,settings,application-settings,C#,Programming Languages,Interop,Settings,Application Settings,我正在用C语言编写一个程序,我计划将来用不同的编程语言为其他平台(即MacOSX)重写这个程序。应用程序需要保存一些用户定义的设置。我的问题是,我应该以任何编程语言都可以读取的格式保存设置文件,还是应该使用.NET中内置的app.config 还有,每种方法的好处是什么?好吧,这取决于您计划如何在不同的平台上实现它。例如,如果您使用Mono,app.config就可以了。否则,我会考虑使用更中性的文件格式。XML是一个显而易见的选择——特别是当它不需要手工编辑时。或者您可以使用JSON,或者简单

我正在用C语言编写一个程序,我计划将来用不同的编程语言为其他平台(即MacOSX)重写这个程序。应用程序需要保存一些用户定义的设置。我的问题是,我应该以任何编程语言都可以读取的格式保存设置文件,还是应该使用.NET中内置的
app.config


还有,每种方法的好处是什么?

好吧,这取决于您计划如何在不同的平台上实现它。例如,如果您使用Mono,
app.config
就可以了。否则,我会考虑使用更中性的文件格式。XML是一个显而易见的选择——特别是当它不需要手工编辑时。或者您可以使用JSON,或者简单的
key=value
每行一项格式

当然,
app.config
是XML,但它是一种特定于.NET的XML格式。
app.config
使用的格式通常不是您在创建自己的设置文件时通常使用的格式。我相信你可以从其他平台上阅读
app.config
文件,而不会有太多麻烦,但这并不是最自然的方式


格式的选择在一定程度上取决于设置的内容,例如,单个非结构化列表是否足够好,或者您是否会从XML提供的树层次结构中获益?

谢谢您的回答。我曾考虑过使用Mono,但从我所读到的内容来看,它似乎在努力跟上并有所落后(如果我错了,请纠正我)。除了我不需要存储设置的XML(如
ini
)之外,还有标准的跨平台格式吗?@Andy:有JSON,但我个人可能会选择XML。您可以找到几乎任何语言的XML解析器。至于Mono落后,这取决于你需要什么。它在语言支持方面一直保持着,但是你不会发现WPF就是一个典型的例子。我的应用程序是WPF,是否有支持WPF的Mono替代方案?老实说,目前我的应用程序只需要保存两个文件路径,所以我认为这是一个过度的行为,但我想这样看,任何事情都是过度的行为!我可能会选择XML,因为它很可能是最受支持的格式,我想它将允许我在将来轻松地添加更多设置。澄清一下,您认为在不同的平台上,相同的程序能够使用相同的设置文件是一个好主意吗?与强制用户在每个平台上创建不同的……设置文件相反?@Andy:你比我们更了解你的应用程序-共享设置有意义吗?还是用户希望每次安装都有不同的设置?您打算如何让用户共享这些设置?试着完整地描述一下你希望如何处理设置,而不是仅仅关注文件格式。