如何将这些代码更改为C#.net framework 3.5?

use*_*330 0 c#

这是.net framework 4.0的代码.但我们的旧系统使用的是3.5.升级所有代码很困难.我想知道如何更改4.0到3.5代码编写的代码.

主要问题是我不知道如何转换"return string.Join(",",states);" 当我尝试使用.net framework 3.5编译它时发生错误.

谢谢!

public enum States
{
....
}

public static string GetStates(uint stateFlags)
{
    var stateList = Enum.GetValues(typeof(States));
    var states = default(States);

    foreach (var state in stateList)
    {
        if (state == null) continue;
        var stateEnum = (States)state;
        if (HasState(stateFlags, stateEnum))
        {
            states = states | stateEnum;
        }
    }

    return string.Join(",", states);
}
Run Code Online (Sandbox Code Playgroud)

错误是错误'string.Join(string,string [])'的最佳重载方法匹配有一些无效的参数

Geo*_*ord 5

string.Join在.Net 3.5中只支持一个字符串数组,而.Net 4.0有额外的重载来使用IEnumerable<string>Object[].

你应该传递string[]Join方法.

更多在MSDN文档:

.Net 4:http://msdn.microsoft.com/en-us/library/dd992421( v = vs.100).aspx

.Net 3.5:http://msdn.microsoft.com/en-us/library/57a79xd0( v = vs.90).aspx