var dict = new Dictionary<MyNullableInt, string>();
dict[null] = "hello, world!";
Console.WriteLine(dict[null]); // Output: hello, world!
struct MyNullableInt: IEquatable<MyNullableInt>, IEquatable<int?>
{
public int? Value { get; set; }
public bool Equals(MyNullableInt other)
{
return other.Value == Value;
}
public bool Equals(int? other)
{
return other == Value;
}
public static implicit operator MyNullableInt(int? value)
{
return new MyNullableInt() {Value = value};
}
public static implicit operator int?(MyNullableInt value)
{
return value.Value;
}
public override bool Equals(object? obj)
{
if (obj is int value)
{
return value == Value;
}
if (obj is MyNullableInt mni)
{
return mni.Value == Value;
}
return false;
}
public override int GetHashCode()
{
return Value.GetHashCode();
}
}
Важно, что бы это была статистика за день/месяц/год/всё время.Первое что нужно - определитесь с минимальной статистической единицей, если это день - значит храните сумму за день, табличка соответственно будет что-то типа:
char charToEncode = textToEncrypt[charIndex++];
byte[] colorBytes = new byte[] { originalColor.R, originalColor.G, originalColor.B };
for (int i = 0; i < 3; i++)
{
int bitIndex = (bitsPerChannel * i);
if (bitIndex < 8)
{
colorBytes[i] = (byte)((colorBytes[i] & ~1) | ((charToEncode >> bitIndex) & 1));
}
}
for (int i = 0; i < 3; i++)
{
int bitIndex = (bitsPerChannel * i);
if (bitIndex < 8)
{
charCode |= (byte)((encodedColor.ToArgb() >> bitIndex) & 1);
if (bitIndex <= 2)
{
charCode <<= bitsPerChannel;
}
}
}
Процедуры, в отличие от функций, не возвращают значение; поэтому в CREATE PROCEDURE отсутствует предложение RETURNS. Однако процедуры могут выдавать данные в вызывающий код через выходные параметры.
его рекомендуют оборачивать тегом articleТут нужно дать ссылку на эту рекомендацию, чтобы мы могли её оценить не на уровне "Рабинович по телефону напел".
его можно использовать в любом другом месте, а как использовать комментарий на другом сайтеКогда говорят об использовании "в любом месте", подразумевают "любое место данного сайта". И в рамках сайта комментарий действительно может быть оторван от условного рецепта: например, в профиле пользователя может выводиться список всех его комментариев (как здесь) или в сайдбаре может выводиться список всех последних комментариев (как на vc.ru).
если мы отрываем комментарий от статьи он ведь теряет весь смыслНа основе многих лет модерирования этого сайта могу вам сказать, что комментарий комментарию рознь. Некоторые жемчужины, наоборот, непонятно как оказались под каким-нибудь посредственным вопросом, и их можно хоть в Лувр вешать отдельно от всего.
GRPC_STATUS_UNKNOWN
. В документации так и написано:Server threw an exception (or did something other than returning a status code to terminate the RPC)
<Switch>
внутри модалки:<Modal>
<Switch>
<Route path="/modal/presets" component={Presets} />
<Route path="/modal/edit/:id" component={EditPhrase} />
<Route path="/modal/create" component={CreatePhrase} />
<Route path="/modal/delete/:id" component={DeletePhrase} />
{/* ... */}
</Switch>
</Modal>
function ModalComponent() {
return (
<Modal>
<Switch>
<Route path="/modal/presets" component={Presets} />
<Route path="/modal/edit/:id" component={EditPhrase} />
<Route path="/modal/create" component={CreatePhrase} />
<Route path="/modal/delete/:id" component={DeletePhrase} />
{/* ... */}
</Switch>
</Modal>
);
}
function Presets() {
const phrases = ... // получите фразы
return (
<div>
{phrases.map(phrase => (
<div key={phrase.id}>
{phrase.text}
<Link to={`/modal/edit/${phrase.id}`}>Редактировать</Link>
</div>
))}
<Link to="/modal/create">Создать новую фразу</Link>
</div>
);
}
overflow: hidden
. Внутри контейнера она может вылезать куда угодно, это уже не будет влиять на размер страницы в целом.