LINQ is a compiler feature. It has nothing to do to processing time. Of course it would be quicker if your iteration logic is not proper.
Now in your code,
1. Why do you even do this?
if (RadTreeViewCustodian.Nodes[0].Nodes[i].Text != null)
{
node =
RadTreeViewCustodian.FindNodeByText(RadTreeViewCustodian.Nodes[0].Nodes[i].Text).ToString();
}
else
{
node =
RadTreeViewCustodian.FindNodeByValue(RadTreeViewCustodian.Nodes[0].Nodes[i].Value)
.ToString();
}
You already have a node object and you are again finding it in the collection. Not required.
2. This is also not accurate.
if (RadTreeViewCustodian.Nodes[0].Nodes[i].Checked == true)
{
RadTreeViewCustodian.Nodes[0].Nodes[i].Checked = false;
}
else
{
RadTreeViewCustodian.Nodes[0].Nodes[i].Checked = true;
}
You just need the if block here and not the else.