In a question with a similar question, the following solution appeared:
ViewGroup group = findViewById(R.id.root); // The name of your layout
int children = group.getChildCount();
for (int i = 0; i < children; i++) {
View child = group.getChildAt(i);
if (child instanceof ViewOne) {
...
} else if (child instanceof ViewTwo) {
...
}
}
In which you get a root layout (which contains your buttons) and can iterate over them.
In your case it would look something like:
ViewGroup viewGroup = FindViewById<ViewGroup>(Resource.Id.root);
int children = viewGroup.ChildCount;
for (int i = 0; i < children; i++)
{
string buttonID = "btn" + i;
int resID = Resources.GetIdentifier(buttonID, "id", PackageName);
FindViewById<Button>(resID).Visibility = ViewStates.Gone;
}
Source: link