Мне трудно полагать, что любой думал бы, что никакое добавление отступа не является хорошей идеей. Это является просто немым, я не позвонил бы ему назад также, если бы он сделал это для меня на интервью.
Комментарии немного более серы, большой код сам документирующий в большой степени. ЕСЛИ Вы пишете, что большой код тогда комментирует, должны только быть места экономно в местах, где то, что продолжается, действительно сложно и твердо следовать.
int index = employeeList.FindIndex(employee => employee.LastName.Equals(somename, StringComparison.Ordinal));
Изменить: без лямбда-выражений для C # 2.0 (оригинал не использует LINQ или какой-либо .NET 3 + функции, только лямбда-синтаксис в C # 3.0):
int index = employeeList.FindIndex(
delegate(Employee employee)
{
return employee.LastName.Equals(somename, StringComparison.Ordinal);
});
вы можете сделать это, переопределив метод Equals
class Employee
{
string _name;
string _last;
double _val;
public Employee(string name, string last, double val)
{
_name = name;
_last = last;
_val = val;
}
public override bool Equals(object obj)
{
Employee e = obj as Employee;
return e._name == _name;
}
}
public int FindIndex(Predicate<T> match);
Использование лямбда-выражений:
employeeList.FindIndex(r => r.LastName.Equals("Something"));
Примечание:
// Returns:
// The zero-based index of the first occurrence of an element
// that matches the conditions defined by match, if found;
// otherwise, –1.
Извините, еще один для хорошей меры :)
int index = employees.FindIndex(
delegate(Employee employee)
{
return employee.LastName == "Something";
});
Редактировать: - Полный пример в проекте .NET 2.0.
class Program
{
class Employee { public string LastName { get; set; } }
static void Main(string[] args)
{
List<Employee> employeeList = new List<Employee>();
employeeList.Add(new Employee(){LastName="Something"});
employeeList.Add(new Employee(){LastName="Something Else"});
int index = employeeList.FindIndex(delegate(Employee employee)
{ return employee.LastName.Equals("Something"); });
Console.WriteLine("Index:{0}", index);
Console.ReadKey();
}
}