char配列をstringに変換できない
C#でN 個の 2 進数のデータに対して排他的論理和(xor) を取った結果を 4 桁の 2 進数で出力
するプログラムを作っています。
その際、char配列をstringに変換する機能を実装中に以下の問題が発生しました。
以下の「作成したソースコード」の、
string output = new string(finalCharAnsArray);
int intOutput = int.Parse(output);
Console.WriteLine(string.Format("{0:0000}", intOutput));
の部分の、
string output = new string(finalCharAnsArray);
の部分で、
char配列をstringに変換できなくて困っています。
(outputの中身が"\u0001\0\u0001"になっています。本当は"101"の文字列にしたいです。)
<作成したソースコード>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CsharpPractice
{
class Program
{
static void Main(string[] args)
{
int inputCount = 2;
int[] inputs = new int[inputCount];
inputs[0] = 0011;
inputs[1] = 0110;
int answer = 0;
for (int i = 0; i < inputCount; i++)
{
answer += inputs[i];
}
string strAns = answer.ToString();
char[] charAnsArray = strAns.ToCharArray();
int[] finalAns = new int[charAnsArray.Length];
char[] finalCharAnsArray = new char[charAnsArray.Length];
for (int i = 0; i < finalAns.Length; i++)
{
finalAns[i] = (int)charAnsArray[i];
finalAns[i] %= 2;
finalCharAnsArray[i] = (char)finalAns[i];
}
string output = new string(finalCharAnsArray);
int intOutput = int.Parse(output);
Console.WriteLine(string.Format("{0:0000}", intOutput));
Console.WriteLine();
Console.ReadKey();
}
}
}
OSはWindows10,
エディターはVisual Studio2015を使用しています。