目前我正在构建一个可以处理 DICOM 文件的小型桌面应用程序。我正在使用 C# 和 .NET 进行编码并使用 ClearCanvas 库。我需要做的一件事是能够显示文件的全部内容,包括所有序列。但是序列是以递归的方式完成的,所以每个序列里面可以有更多的序列。现在我的代码可以访问前两个级别,但我只是作为测试人员这样做,因为我需要能够访问第 n 级序列。所以我需要以某种方式自动化这个。这就是我的代码现在前两个级别的样子。
DicomSequenceItem[] seq = attrs2[i].Values as DicomSequenceItem[];
if (seq != null)
{
for (int j = 0; j < seq.Length; j++)
{
for (int n = 0; n < seq[j].Count; n++)
{
DicomSequenceItem[] level2 = seq[j].ElementAt(n).Values as DicomSequenceItem[];
if(seq[j].ElementAt(n).GetValueType().ToString().Equals("ClearCanvas.Dicom.DicomSequenceItem"))
{
for (int k = 0; k < level2.Length; k++)
{
for (int l = 0; l < level2[k].Count; l++)
{
text += "\t\t" + level2[k].ElementAt(l) + "\r\n";
}
}
}
else
{
text += "\t" + seq[j].ElementAt(n) + "\r\n";
}
}
}
}
任何帮助(代码示例)将不胜感激。
谢谢!