Visual StudioでC#を用いてシステムの開発を行っています。
学校でプログラミングを習っただけの初心者です。
コード:
for(int k=0; k < n; k++)
{
string[] list = { "医療分野の環境","患者満足と地域社会への貢献","医療の質の基本的考え方","医療の質・安全","医療安全の基本的考え方","顧客","製品・サービス","文書化と文書管理","文書の朱里","文書の体系","文書管理の方法","医療の質とモノの管理の関係","日常管理の実施方法","問題解決の手法"};
string item = 実研修.M研修.Rows[k]["中項目名"].ToString();
int m = Array.IndexOf(list, item)+1;
Debug.WriteLine(item);
Debug.WriteLine(k);
Debug.WriteLine(m);
Debug.WriteLine(Array.IndexOf(list, item));
dgvQ項目.Rows[m].Cells[l].Value = "〇";
l++;
}
下記はコンソールに表示されたものです。
医療の質・安全
0
4
3
文書の朱里
1
0
-1
問題解決の手法
2
0
-1
簡単に言うと下記のような動作を行っています。
①実研修.M研修.Rows[k]["中項目名"].ToString();の部分でデータベースから中項目名を取得する
②配列から取得した中項目名のインデックス番号を取得する
③インデックス番号をもとにシステムのデータグリッドビューの行番号を指定する
「医療の質・安全」という中項目名は配列からインデックス番号を取得できましたが、他の中項目名は取得できませんでした。
また、
foreach (char ch in item) { Debug.WriteLine((int)ch); }
で確認したところ、ご指摘の通り文字列の末尾にLF(改行)とCR(復帰)が含まれておりました。
どのように解決できるのでしょうか?ご教示いただきたいです