string[,] data = new string[,] {
{"three", "filter2", "1"},
{"four", "filter3", "2"},
for (int i=1; i<= 100; i++) Console.Write(select(data, "*")[0] + " ");
string[] select(string[,] selections, string filter) {
int count = selections.GetLength(0);
string selectedItem = "";
string selectedFilter = "*";
for (int i=0; i < count; i++) {
string currentFilter = selections[i, 1];
if ((filter != "*") & (currentFilter != filter)) continue;
weight = Int32.Parse(selections[i, 2]);
int roll = rand.Next(1, total + 1);
Console.WriteLine($"{weight}/{total} : {roll}");
selectedItem = selections[i, 0];
selectedFilter = selections[i, 1];
return new string[] {selectedItem, selectedFilter};