- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
public DateTime Birth { get; }
public int Age
{
get
{
var n = 0;
while(Birth.AddYears(n + 1) < DateTime.Now) ++n;
return n;
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+6
public DateTime Birth { get; }
public int Age
{
get
{
var n = 0;
while(Birth.AddYears(n + 1) < DateTime.Now) ++n;
return n;
}
}
Проверял работу у изворотливой студентки
+2
System.Action callback = null;
// TODO
if (true)
{
callback = () =>
{
GameLogic_TheFixer.I.SetGameState(GameLogic_TheFixer.GameAction.clean);
};
}
else
{
}
foamSpawner.onEndWork = callback;
Копаюсь в чьем-то легаси
0
public async Task<ActionResult> Enable2FA(string id)
{
if (string.IsNullOrEmpty(id))
{
return BadRequest("Invalid user Id");
}
User user = await userManager.FindByIdAsync(id);
if (user == null)
{
return BadRequest(USER_NOT_FOUND_MESSAGE);
}
EnableAuthenticatorModel model = await LoadSharedKeyAndQrCodeUriAsync(user);
return Ok(model);
}
Что-то мне подсказывает что можно более логичнее написать сие кусок кода
+1
using System;
namespace Test
{
public class HttpException : Exception
{
public HttpException(int status)
{
StatusCode = status;
}
public int StatusCode { get; set; }
}
class Program
{
static void TestCatch(int status)
{
try
{
throw new HttpException(status);
}
catch (HttpException ex) when (ex.StatusCode == 404)
{
Console.WriteLine("Not Found!");
}
catch (HttpException ex) when (ex.StatusCode >= 500 && ex.StatusCode < 600)
{
Console.WriteLine("Server Error");
}
catch (HttpException ex)
{
Console.WriteLine("HTTP Error {0}", ex.StatusCode);
}
}
static void Main(string[] args)
{
TestCatch(404);
TestCatch(501);
TestCatch(101);
}
}
}
https://ideone.com/zXstg3
Именно поэтому я за «C#».
0
try
{
await storageClient.DownloadObjectAsync(Bucket, fileName, stream).ConfigureAwait(false);
}
catch(Exception ex)
{
throw new FileStorageException($"File '{fileName}' not found in a bucket '{Bucket}'", ex) { StatusCode = StatusCodes.Status404NotFound };
}
Сеньйор дот нет девелопер
+1
using System;
using System.Runtime.Serialization;
namespace MyCoolProject {
internal sealed class CatastrophicException: Exception
{
private static bool dead = false;
public static bool Dead { get { return dead; } }
void RecurseDeath() {
try {
RecurseDeath();
} finally {
RecurseDeath();
}
}
private void DIE() {
dead = true;
try {
Environment.FailFast("Catastrophic Exception!!!");
} finally {
try {
RecurseDeath();
} finally {
throw this;
}
}
}
public CatastrophicException() {
DIE();
}
public sealed override string ToString() {
DIE();
throw this;
}
public sealed override System.Collections.IDictionary Data {
get {
DIE();
throw this;
}
}
public sealed override bool Equals(object obj) {
DIE();
throw this;
}
public sealed override Exception GetBaseException() {
DIE();
throw this;
}
public sealed override int GetHashCode() {
DIE();
throw this;
}
public sealed override string HelpLink {
get {
DIE();
throw this;
} set {
DIE();
}
}
public sealed override string Message {
get {
DIE();
throw this;
}
}
public sealed override void GetObjectData(SerializationInfo info, StreamingContext context) {
DIE();
}
public sealed override string Source {
get {
DIE();
throw this;
}
set {
DIE();
}
}
public sealed override string StackTrace {
get {
DIE();
throw this;
}
}
~CatastrophicException() {
try {
new CatastrophicException().DIE();
} finally {
try {
new CatastrophicException().DIE();
} finally {
new CatastrophicException().DIE();
}
}
}
}
}
+1
public class WindowEx : Window //...
{
//hwnd окна
public IntPtr Handle { get; set; }
private const int GWL_EXSTYLE = (-20);
private const uint WS_EX_TOPMOST = 0x00000008;
public void SetTopmost()
{
SetTopmost(Handle);
}
public static void SetTopmost(IntPtr hWnd)
{
SetWindowLongPtr(hWnd, GWL_EXSTYLE, (IntPtr)((ulong)GetWindowLongPtr(hWnd, GWL_EXSTYLE) | WS_EX_TOPMOST));
}
public void UnSetTopmost()
{
UnSetTopmost(Handle);
}
public static void UnSetTopmost(IntPtr hWnd)
{
SetWindowLongPtr(hWnd, GWL_EXSTYLE, (IntPtr)((ulong)GetWindowLongPtr(hWnd, GWL_EXSTYLE) & ~WS_EX_TOPMOST));
}
private bool _topmost;
public new bool Topmost
{
set
{
if (value)
{
SetTopmost();
}
else
{
UnSetTopmost();
}
_topmost = value;
}
get { return _topmost; }
}
}
Тру окно. С тру топмостом. Бесполезно чуть менее, чем полностью:
1) Новый топмост не нужен. Оригинальное свойство через SetWindowPos сделает тоже самое (SetWindowPos может менять дополнительный стиль WS_EX_TOPMOST)
2) Handle (hwnd окна) c публичным set. Круто, чё. Следовало бы сделать public IntPtr Handle { get; private set; }
Так я писал код где-то лет 6 назад.
+1
private void MainDataGridCellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
{
if (e.Column == MainDataGrid.Columns[1])
return;
if (CheckComplianceWithIndentation)
if ((NumberOfLeadingSpaces(Rows[e.Row.GetIndex()].OriginalText) != NumberOfLeadingSpaces(Rows[e.Row.GetIndex()].Translation)) && !Rows[e.Row.GetIndex()].Tags.Contains("I"))
Rows[e.Row.GetIndex()].Tags += "I";
else if (NumberOfLeadingSpaces(Rows[e.Row.GetIndex()].OriginalText) == NumberOfLeadingSpaces(Rows[e.Row.GetIndex()].Translation))
Rows[e.Row.GetIndex()].Tags = Rows[e.Row.GetIndex()].Tags.Replace("I", "");
if ((Rows[e.Row.GetIndex()].Translation.Trim() == "") && !Rows[e.Row.GetIndex()].Tags.Contains("N"))
Rows[e.Row.GetIndex()].Tags += "N";
else if (Rows[e.Row.GetIndex()].Translation.Trim() != "")
Rows[e.Row.GetIndex()].Tags = Rows[e.Row.GetIndex()].Tags.Replace("N", "");
//...
}
public void TagsInit()
{
if (CheckComplianceWithIndentation)
foreach (var hRow in Rows.Where(hRow => NumberOfLeadingSpaces(hRow.OriginalText) != NumberOfLeadingSpaces(hRow.Translation)))
{
hRow.Tags += "I";
}
foreach (var row in Rows.Where(hRow => hRow.Translation == ""))
{
row.Tags += "N";
}
}
Дано: C#, WPF, DataGrid, таблица.
Надо сделать: таблица имеет поля, в том числе и поле Tags, которое определяется полями Translation и OriginalText, а также настройками пользователя (CheckComplianceWithIndentation), нет бы его вынести в класс строки как геттер:
public string Tags => f(Translation, Original);
вместо:
private string _tags;
public string Tags
{
get => _tags;
set
{
_tags = value;
RaisePropertyChanged("Tags");
}
}
Так нет же, будем отлавливать изменения ячеек таблицы (MainDataGridCellEditEnding) и пересчитывать Tags. MainDataGrid.Columns[1] - это колонка с ними, прибито гвоздями в xaml: CanUserReorderColumns="False"
Эх, а еще и Trim вместо String.IsNullOrWhiteSpace.
А еще немного венгерской говнонотации (hRow).
Так я писал где-то лет 7 назад. Да, тогда стрелок не было, но они приведены в описании тупо для сокращения строк кода.
+1
// Задача: Рисовать в консоли прогресс бар, на сколько дней текущий год завершился
static void ProgressBarOfElapsedDays(DateTime dateTime, bool isRefreshebleat = false) // рефрешеБЛЕАТ! :))
{
int daysOfYear = DateTime.IsLeapYear(dateTime.Year) ? 366 : 365;
int dayInProcents = daysOfYear * 100 / 100; // WAT?
int currentDay = dateTime.DayOfYear * 100;
int daysOfYearNotElapsed = daysOfYear * 100 - currentDay; // Сложный матан
int procent = 100 - (daysOfYear * 100 - currentDay) / dayInProcents;
int buffer = 0;
if (isRefreshebleat)
{
if (Console.CursorTop >= 1 || Console.CursorLeft >= 1)
{
Console.SetCursorPosition(Console.CursorLeft - Console.CursorLeft, Console.CursorTop - Console.CursorTop); // когда Console.SetCursorPosition(0, 0) недостаточно
}
}
// остальной код
}
isRefreshebleat и всё остальное :))
0
public static void ActivateChangeHotKeyButtonModeButtonClick(object sender, EventArgs e)
{
TaskBarHidderForm.ChangeHotKeyPanel.Visible = true;
TaskBarHidderForm.KeyButtons[0].Text = TaskBarHidder.HotKeyCodes[0].ToString();
TaskBarHidderForm.KeyButtons[1].Text = TaskBarHidder.HotKeyCodes[1].ToString();
}
кодить под пивко заебись :)