У меня есть пользовательский класс с именем CatalogItem , который я получаю в методе в виде параметра в виде массива.
На основе одного из свойств этих элементов необходимо собрать матрицу, которую возвращает метод.
public CatalogItem[][] ReorderCatalogItems(CatalogItem[] items)
Свойства
public string Id
public string Version
public bool HasVersion
public bool HasDependencies
public string Name
public string DisplayName
public bool IsExportable
public string CatalogName
public string ZipName
Но Visual Studio 2003 - это не 2005, 2008 или 2010. Прошло не так много времени с тех пор, как я в последний раз программировал этот каркас (1.1).
У меня есть это, так как List и generics не существует
StringBuilder zipNames = new StringBuilder();
foreach(CatalogItem item in items)
{
if(item.ZipName != string.Empty && zipNames.ToString().IndexOf(item.ZipName) == -1)
{
zipNames.Append(item.ZipName);
zipNames.Append("\r\n");
//StringBuilder.AppendLine(string) is unexistent in fwk 1.1
}
}
//SplitString is a custom method that does a string.Split with a string parser (unexistent out-of-the-box feat. in 2003)
string[] sZipNames = SplitString(zipNames.ToString(),"\r\n");
CatalogItem[][] orderedItems = new CatalogItem[sZipNames.Length+1][];
///+1 since string.Empty is one of the valid elements
/// even when not listed on zZipNames (name default)
foreach(CatalogItem item in items)
{
int i = 0;
bool Next = true;
while(Next)
{
if(item.ZipName == string.Empty)
{
//I'm out of ideas now
}
if(sZipNames[i].IndexOf(item.ZipName) == -1)
{
//I'm out of ideas now
}
i++;
}
}
@ Edit:
О, для дальнейшего понимания, это моя настоящая и последняя цель: создать XML с этим форматом. Для этого я разработал метод XMLDoc, но мне нужно создать итерацию прерывания управления
<?xml version="1.0" encoding="utf-8"?>
<export>
<items outputfile="c:\data\erase\exportbatch.zip">
<item>
<catalog>operations</catalog>
<id>Od4f0f211-4673-49cd-a197-567768b9c00a</id>
<name>NewOp</name>
<dependencies>false</dependencies>
</item>
<item>
<catalog>operations</catalog>
<id>Oc19efe25-33ec-45b7-9cc1-a813ffbecc61</id>
<name>TestAttributes</name>
</item>
</items>
<items outputfile="c:\data\erase\exportbatch2.zip">
<item>
<catalog>transactions</catalog>
<id>T15454fe0-7afb-4146-9ec3-83547f96b25a</id>
<name>GetAllEmployee</name>
<dependencies>true</dependencies>
</item>
<item>
<catalog>transactions</catalog>
<id>Tc37afa55-39e4-416d-9088-011a117cff72</id>
<name>CustOrderHist_Test123</name>
<dependencies>false</dependencies>
</item>
</items>
</export>