Это - то, с чем я закончил тем, что шел, я не видел значение в добавлении класса пользовательского атрибута для удержания клавиши ресурса и затем поиска в файлы ресурсов - почему не только используют имя типа перечислений + значение как ключ ресурса?
using System;
using System.Resources;
using System.Reflection;
public class MyClass
{
enum SomeEnum {Small,Large};
private ResourceManager _resources = new ResourceManager("MyClass.myResources",
System.Reflection.Assembly.GetExecutingAssembly());
public string EnumDescription(Enum enumerator)
{
string rk = String.Format("{0}.{1}",enumerator.GetType(),enumerator);
string localizedDescription = _resources.GetString(rk);
if (localizedDescription == null)
{
// A localized string was not found so you can either just return
// the enums value - most likely readable and a good fallback.
return enumerator.ToString();
// Or you can return the full resourceKey which will be helpful when
// editing the resource files(e.g. MyClass+SomeEnum.Small)
// return resourceKey;
}
else
return localizedDescription;
}
void SomeRoutine()
{
// Looks in resource file for a string matching the key
// "MyClass+SomeEnum.Large"
string s1 = EnumDescription(SomeEnum.Large);
}
}
Классическая работа: Computational Geometry в C .
А также: http://www.cs.uu.nl/geobook/ .
Пробный архив можно попробовать на TopCoder.
Но сначала вы должны зарегистрироваться.
В фильтре выберите:
Категория: Геометрия
Раздел II Уровень: Уровень Первый или Уровень Два .
Практически все задачи имеют описание решений.
Они довольно просты по сравнению с тем, что вы выбираете случайную геометрическую задачу из какого-либо конкурса архив.
На странице вы также можете найти множество учебных пособий, в том числе геометрических.
Чтобы быстро решать основные геометрические задачи, чтобы они выполнялись в сроки, указанные в конкурсе, вам необходимо убедиться, что вы хорошо разбираетесь в написании алгоритмов.
Эта страница есть несколько хороших советов, как поправиться. Это двухсеместровый курс чтения.
Я рекомендую две книги (среди прочих):
Вы должны знать выпуклую оболочку и точку в многоугольнике. Часто на TopCoder люди создают многоразовую библиотеку для геометрических приложений, поскольку один и тот же код используется много раз.
Для начала ознакомьтесь с руководством lbackstrom . Вычислительная геометрия де Берга, Чеонга, ван Кревельда, Овермарса [править: уже упоминалось Барт] может быть больше, чем вам нужно.
И, конечно же, есть Computational Geometry - An Introduction , подготовленные Препаратой и Шамосом. Я владею им и рекомендую его для ознакомления с принципами. Хотя это не совсем словарь кода.
Вот две отличные книги, я использовал их в качестве учебников в университете:
JD Foley, A van Dam et al. Введение в компьютерную графику . Addison-Wesley, 1994, ISBN 0-201-60921-5.
Д. Хирн и М. П. Бейкер. Компьютерная графика с Open GL (3-е издание) . Prentice-Hall, 2004, ISBN 0-13-120238-3.