大家好我有一个表格集合的字符串[],看起来像这样
string[] formCollSkuOptionValueId=form.GetValues("txtskuopvaluetid");
string[] formCollSkuOptionNames=form.GetValues("txtSkuoptionName");
string[] formCollSkuOptionValues=form.GetValues("txSkuoptionvalues");
此formcollection中的值像这样
formCollSkuOptionNames={color,color,color,size,size,size,fit,fit}
formCollSkuOptionValueId={37,38,39,40,41,42,50,51}
formCollSkuOptionValues={Red,Black,Blue,X,Xl,XXl,Regular,Fit}
我要做的是,我必须连接formCollSkuOptionValues
选项名称相同的地方
像这样
我希望结果像这样
string[] SkuOptionValueId={37_38_39},{40_41_42},{50_51}
string[] SkuOptionValues={Red_Black_Blue},{X_Xl_XXl},{Regular_Fit}
我怎么能这样做,任何人帮助我这样做是我一直试图做的是
string SkuOptionName = string.Empty;
string SkuOptionValues = string.Empty;
string SkuOptionValueId = string.Empty;
for (int i = 0; i < formCollSkuOptionValues.Length; i++)
{
int count = 0;
arrays.Clear();
SkuOptionName = formCollSkuOptionNames[count];
if (count != 0)
{
if (SkuOptionName == formCollSkuOptionNames[i])
{
SkuOptionValues = SkuOptionValues + formCollSkuOptionValues[i] + ",";
SkuOptionValueId = SkuOptionValueId + formCollSkuOptionValueId[i] + ",";
}
arrays.Add(SkuOptionValues);
count++;
}
SkuOptionValues = SkuOptionValues + formCollSkuOptionValues[i] + ",";
SkuOptionValueId = SkuOptionValueId + formCollSkuOptionValueId[i] + ",";
//str.Remove(str.IndexOf(','));
}
答案 0 :(得分:0)
您可以利用linq
并以这种方式撰写:
var namesAndIndexes = formCollSkuOptionNames.Select((e, i) => new { Name = e, Index = i }).ToList();
var nameValueIds = namesAndIndexes.Select(e => new { ValueId = formCollSkuOptionValueId[e.Index], Name = e.Name});
var nameValues = namesAndIndexes.Select(e => new { Value = formCollSkuOptionValues[e.Index], Name = e.Name });
var groupNameValueIds = nameValueIds.GroupBy(e => e.Name, a => a.ValueId);
var groupNameValues = nameValues.GroupBy(e => e.Name, a => a.Value);
var skuOptionValueId = groupNameValueIds.Select(e => e.Aggregate((a, b) => a + "_" + b)).ToArray();
var skuOptionValues = groupNameValues.Select(e => e.Aggregate((a, b) => a + "_" + b)).ToArray();
我认为这是写它的现代方式。忘记for
和if
:)