I want to convert a project from vb.net to C#
I used two different tools but I get hundreds of errors regarding foreach loops:
Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand
Fehler CS1656 "zeile_tmp" ist "foreach-Iterationsvariable". Eine Zuweisung ist daher nicht möglich.
English:
"zeile_tmp" is "foreach iteration variable". Therefore, an assignment is not possible.
Because there are more than 50 foreach loops in my vb.net project I would need an approach which allows an easy replace of the problematic code parts.
What I have tried:
foreach (string zeile_tmp in sList.Split('\n'))
{
zeile_tmp = Strings.LTrim(zeile_tmp);
zeile_tmp = Strings.RTrim(zeile_tmp);
Strings.Replace(zeile_tmp, Conversions.ToString('\n'), "");
Strings.Replace(zeile_tmp, Conversions.ToString('\r'), "");
Strings.Replace(zeile_tmp, " ", " ");
if (Strings.Len(zeile_tmp) > 1)
{
foreach (string strLineDup in sList2.Split('\n'))
{
Strings.Replace(strLineDup, Conversions.ToString('\n'), "");
Strings.Replace(strLineDup, Conversions.ToString('\r'), "");
Strings.Replace(strLineDup, " ", " ");
if (Strings.Len(strLineDup) > 2)
{
strLineDup = Strings.LTrim(strLineDup);
strLineDup = Strings.RTrim(strLineDup);
if (Strings.InStrRev(zeile_tmp, "____", Compare: (CompareMethod)1) > 0)
zeile_tmp = ProjectRoutines.ExtractFullPath(zeile_tmp);
if (Strings.InStrRev(strLineDup, "____", Compare: (CompareMethod)1) > 0)
Debug.Print(strLineDup);
if (Strings.InStrRev(strLineDup, "____", Compare: (CompareMethod)1) > 0)
strLineDup = ProjectRoutines.ExtractFullPath(strLineDup);
if (Strings.InStrRev(zeile_tmp, strLineDup, Compare: (CompareMethod)1) > 0 | Strings.InStrRev(strLineDup, zeile_tmp, Compare: (CompareMethod)1) > 0)
{
if (Strings.Len(strLineDup) > 2 & Strings.InStrRev(sList, strLineDup, Compare: (CompareMethod)1) > 0 | Strings.Len(strLineDup) > 2 & Strings.InStrRev(strLineDup, sList, Compare: (CompareMethod)1) > 0)
sDuplicates = sDuplicates + Constants.vbNewLine + "=== " + strLineDup;
}
else if (Strings.Len(strLineDup) > 3)
{
if (Strings.InStrRev(sCompare, strLineDup, Compare: (CompareMethod)1) == 0 & Strings.InStrRev(sList, strLineDup, Compare: (CompareMethod)1) == 0)
sCompare = sCompare + Constants.vbNewLine + "- - - " + strLineDup;
}
}
}
}
Application.DoEvents();
}