J'ai ce code php:Besoin d'aide pour convertir PHP en C#
$lines = file("data.csv");
$nested = array();
$links = array();
// first, create a structure that contains the connections between elements
foreach ($lines as $line) {
list($child, $parent) = explode(",", $line);
if (trim($child) == trim($parent)) {
$nested[$parent] = null;
} else {
// add it to the children of parent
$links[$parent][] = $child;
}
}
function process(&$arr) {
global $links;
foreach ($arr as $key => $value) {
// no more children => stop recursion
if (!array_key_exists($key, $links)) {
$array[$key] = null;
continue;
}
// insert its children
$arr[$key] = array_flip($links[$key]);
// recurse down
process($arr[$key]);
}
}
function print_html($multi_dimensional_array)
{
$m = $multi_dimensional_array;
$keys = array();
foreach($m as $key=>$value) {
$keys[] = $key;
}
$i = 0;
while($i < count($multi_dimensional_array)) {
echo '<li><a href="#">'.$keys[$i].'</a>';
if(is_array($multi_dimensional_array[$keys[$i]])) {
echo '<ul>';
print_html($multi_dimensional_array[$keys[$i]]);
echo '</ul>';
}
echo '</li>';
$i++;
}
}
process($nested);
print_html($nested);
Le format data.csv est (valeur, parent), un exemple serait:
one,one
two,two
three,three
sub_one,one
sub_one2,one
sub_two,two
sub_two2,two
sub_two3,two
sub_three,three
sub_sub_one,sub_one
sub_sub_one2,sub_one
Fondamentalement ce que cela Le code PHP est de créer un tableau multidimensionnel qui contient le nom du parent comme clé et les enfants comme valeurs, et si un enfant contient aussi des sous fils, alors ce serait une clé qui contient des sous-clés, etc ... et il affichera un code html liste formatée pour ce tableau.
Comment pourrais-je utiliser C# pour faire ce que fait ce code php?
Je pense que vous devez d'abord essayer vous-même et découvrez les problèmes que vous avez. Ce site n'écrira pas tout votre code pour vous. Commencez à le faire, faites face au problème. Si le problème est assez précis et bien formulé, vous obtiendrez de l'aide ici – Dyppl
D'accord avec Dyppl - Les deux langues sont différentes et ont des forces différentes. Vous vous rendrez un mauvais service si vous n'avez pas fait l'effort d'essayer vous-même cette tâche. – anon
Pour vous donner un début, je vous suggère de regarder 'Dictionary' (http://msdn.microsoft.com/fr-fr/library/xfhwa508.aspx). –