Проверьте Систему. Время выполнения. Сериализация. Пространство имен Json, включенное с.NET 3.5.
: / Общий шаблон «singleton» Джудит Бишоп кажется некорректным, всегда можно создать несколько экземпляров типа T, поскольку конструктор должен быть общедоступным, чтобы использовать его в этом «шаблоне». На мой взгляд, он не имеет абсолютно ничего общего с синглтоном, это просто своего рода фабрика, которая всегда возвращает один и тот же объект, но не делает его синглтоном ... пока может быть более одного экземпляра класса, который он не может быть синглом. Есть ли причина, по которой этот шаблон является самым популярным?
public sealed class Singleton
{
private static readonly Singleton _instance = new Singleton();
private Singleton()
{
}
public static Singleton Instance
{
get
{
return _instance;
}
}
}
Статические инициализаторы считаются потокобезопасными .. Я не знаю, но вы вообще не должны использовать идиомы singleton, если вы поместите мой код над его не более чем 3 строками ... и наследование от синглтона тоже не имеет смысла.
но не будет работать с восьмеричными числами (т.е. числовыми строками с нулем в начале), поскольку они распознаются parseInt ()
, но не Number ()
. Если вам нужно обрабатывать десятичные строки с ведущими нулями, вам нужно будет указать аргумент radix. Разве это не сработает:
if (parseInt(number, 10) == number)
{
alert(number + " is an integer.");
}
Как насчет этого:
if((typeof(no)=='number') && (no.toString().indexOf('.')==-1))
вы можете либо использовать возможности синтаксического анализа javas, либо также попробовать оператор по модулю% ...
Вы можете использовать формальное определение целого числа:
Math.floor(x) === x
Существует функция javascript с именем isNaN (val), которая возвращает истину, если val не является числом.
Если вы хотите использовать val как число, вам нужно выполнить приведение с помощью parseInt ( ) или parseFloat ()
РЕДАКТИРОВАТЬ: ой. Исправлена ошибка, указанная в комментарии
.