W związku z tym, że nikt nie wie jak sprawić by za pętlą foreach wstawić nową linię, postanowiłem kombinować z indeksami ale nie za bardzo wiem czy dobrze kombinuję.
partToDecode to string z pętli powtarzający się i razy i wygląda tak
13u?etPv2;0n:dDPwUM1U1Cb069D
400TcdiuiT7VDR>3nIfr6>i00000
...
Output jaki mnie interesuje:
0100101010101001010100101010...//zazwyczaj 168 bitów
0101010100101011100001001010...
...
Kod niedziałający (zlany tekst kilka k bitów)
for (var p = 0; p < partToDecode.Length; p++)
{
var part = partToDecode[p] - 48;
if (part > 40)
{
part = part - 8;
}
StringBuilder parts = new StringBuilder();
string suma = Convert.ToString(part, 2).PadLeft(6, '0');
parts.Append(suma);
int count = partToDecode.Count();
if (count == partToDecode.Length)
{
File.AppendAllText(@"C:\Users\jakub\OneDrive\Pulpit\SomeOtherFile3.txt", parts.ToString() + "\n");
}
Kod niedziałający 2 (tylko 1 linia 168 bitów, nie wykonuje drugiej iteracji for)
foreach (char p in partToDecode)
{
var part = p - 48;
if (part > 40)
{
part = part - 8;
}
StringBuilder parts = new StringBuilder();
string suma = Convert.ToString(part, 2).PadLeft(6, '0');
parts.Append(suma);
int count = partToDecode.Count();
if (partToDecode.IndexOf(p) < partToDecode.Length)
{
File.AppendAllText(@"C:\Users\jakub\OneDrive\Pulpit\SomeOtherFile3.txt", parts.ToString());
}
else
{
File.AppendAllText(@"C:\Users\jakub\OneDrive\Pulpit\SomeOtherFile3.txt", parts.ToString() + "\n");
}
Miałem też 3 przypadek nowej linii co każdy char z parttodecode (6 bitów 01) ale nie pamiętam już co go powodowało, chyba stworzenie za pętlą foreach pustej zmiennej i wypisywanie pustej zmiennej + nowej linii.
Ktoś ma jakiś pomysł? Czyli generalnie if (iteracja p == długość parttodecode) = file.append zmienna + new line, jak nie to bez new line
Oczywiście samo p nie zadziała bo da wartość p, potrzebny jest index, którego nie kminię jak tam wstawić. Czy to wykonalne?