-
+141
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
using System;
using System.Globalization;
using System.IO;
namespace CyberForumTasks
{
class Program
{
static void Main()
{
var text = File.ReadAllText("C:\\test.txt");
for (var i = 0; i < text.Length - 1; i++)
{
if (text[i].ToString(CultureInfo.InvariantCulture).Contains("1"))
if (text[i + 1].ToString(CultureInfo.InvariantCulture).Contains("0"))
if (text[i + 2].ToString(CultureInfo.InvariantCulture).Contains("1"))
Console.Write("101");
if (text[i].ToString(CultureInfo.InvariantCulture).Contains("1"))
if (text[i + 1].ToString(CultureInfo.InvariantCulture).Contains("1"))
if (text[i + 2].ToString(CultureInfo.InvariantCulture).Contains("0"))
Console.Write("110");
if (text[i].ToString(CultureInfo.InvariantCulture).Contains("1"))
if (text[i + 1].ToString(CultureInfo.InvariantCulture).Contains("1"))
if (text[i + 2].ToString(CultureInfo.InvariantCulture).Contains("1"))
Console.Write("111");
if (text[i].ToString(CultureInfo.InvariantCulture).Contains("1"))
if (text[i + 1].ToString(CultureInfo.InvariantCulture).Contains("0"))
if (text[i + 2].ToString(CultureInfo.InvariantCulture).Contains("0"))
if (text[i + 3].ToString(CultureInfo.InvariantCulture).Contains("0"))
Console.Write("1000");
if (text[i].ToString(CultureInfo.InvariantCulture).Contains("1"))
if (text[i + 1].ToString(CultureInfo.InvariantCulture).Contains("0"))
if (text[i + 2].ToString(CultureInfo.InvariantCulture).Contains("0"))
if (text[i + 3].ToString(CultureInfo.InvariantCulture).Contains("1"))
Console.Write("1001");
if (text[i].ToString(CultureInfo.InvariantCulture).Contains("1"))
if (text[i + 1].ToString(CultureInfo.InvariantCulture).Contains("0"))
if (text[i + 2].ToString(CultureInfo.InvariantCulture).Contains("1"))
if (text[i + 3].ToString(CultureInfo.InvariantCulture).Contains("0"))
Console.Write("1010");
}
}
}
}
Дан файл целых чисел. Продублировать в нем все числа, принадлежащие диапазону 5..10.
Psilon,
09 Января 2014
-
+137
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
using System;
using System.Collections.Generic;
namespace Builder
{
public class MainApp
{
public static void Main()
{
// Create director and builders
Director director = new Director();
Builder b1 = new ConcreteBuilder1();
Builder b2 = new ConcreteBuilder2();
// Construct two products
director.Construct(b1);
Product p1 = b1.GetResult();
p1.Show();
director.Construct(b2);
Product p2 = b2.GetResult();
p2.Show();
// Wait for user
Console.Read();
}
}
// "Director"
class Director
{
// Builder uses a complex series of steps
public void Construct(Builder builder)
{
builder.BuildPartA();
builder.BuildPartB();
}
}
// "Builder"
abstract class Builder
{
public virtual void BuildPartA(){}
public virtual void BuildPartB(){}
public virtual Product GetResult(){}
}
// "ConcreteBuilder1"
class ConcreteBuilder1 : Builder
{
private readonly Product product = new Product();
public override void BuildPartA()
{
product.Add("PartA");
}
public override void BuildPartB()
{
product.Add("PartB");
}
public override Product GetResult()
{
return product;
}
}
// "ConcreteBuilder2"
class ConcreteBuilder2 : Builder
{
private readonly Product product = new Product();
public override void BuildPartA()
{
product.Add("PartX");
}
public override void BuildPartB()
{
product.Add("PartY");
}
public override Product GetResult()
{
return product;
}
}
// "Product"
class Product
{
private readonly List<string> parts = new List<string>();
public void Add(string part)
{
parts.Add(part);
}
public void Show()
{
Console.WriteLine("\nProduct Parts -------");
foreach (string part in parts)
Console.WriteLine(part);
}
}
}
"Хороший","годный" пример паттерна билдер с википедии, не соответствующие лежащей там же Uml схеме чуть больше чем полностью
Схема
http://upload.wikimedia.org/wikipedia/ru/2/28/Builder.gif
kegdan,
29 Декабря 2013
-
+138
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
/// generic Singleton<T> (потокобезопасный с использованием generic-класса и с отложенной инициализацией)
/// <typeparam name="T">Singleton class</typeparam>
public class Singleton<T> where T : class
{
/// Защищённый конструктор необходим для того, чтобы предотвратить создание экземпляра класса Singleton.
/// Он будет вызван из закрытого конструктора наследственного класса.
protected Singleton() { }
/// Фабрика используется для отложенной инициализации экземпляра класса
private sealed class SingletonCreator<S> where S : class
{
//Используется Reflection для создания экземпляра класса без публичного конструктора
private static readonly S instance = (S) typeof(S).GetConstructor(
BindingFlags.Instance | BindingFlags.NonPublic,
null,
new Type[0],
new ParameterModifier[0]).Invoke(null);
public static S CreatorInstance
{
get { return instance; }
}
}
public static T Instance
{
get { return SingletonCreator<T>.CreatorInstance; }
}
}
/// Использование Singleton
public class TestClass : Singleton<TestClass>
{
/// Вызовет защищенный конструктор класса Singleton
private TestClass() { }
public string TestProc()
{
return "Hello World";
}
}
Код из Википедии. Создание синглтона на шарпике с излишествами и извращениями
В самом деле, кому нужна инкапсуляция, нам же нужен синглтон
P.S может я чего не понимаю.
kegdan,
26 Декабря 2013
-
+138
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
const bool ShowOkIfAllIsCool = true;
book OK()
{
return ShowOkIfAllIsCool;
}
bool GetFileExists(string filePath)
{
return File.Exists(filePath);
}
int GetLengthFileName(string filePath)
{
return filePath.Lenght;
}
int SetMaxValue(int maxValue)
{
_OPENWINDOWSAFTERINITIALIZATION = maxValue;
}
Программированием занимаюсь много лет, а так и не могу понять, для чего создавать подобные методы в 1 строку и константы заглавными буквами огромной длины? Их люди пишут или это автоматически созданный код какой-то прогой? В чужих программах такое часто можно встретить.
sbs,
25 Декабря 2013
-
+129
- 1
- 2
- 3
- 4
string fileName = Path.GetFileName(f);
string fileExt = Path.GetExtension(f);
string i=fileName.IndexOf(fileExt);
if (i > -1) fileName = fileName.Remove(i, fileExt.Length);
Получение имени файла
sbs,
25 Декабря 2013
-
+126
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
public Random abstract_logic = new Random();
...
private int ComplexFunctionToDetermineTheNumberOfResults(ObservableCollection<Result> rs)
{
int a = 0;
for (int i = 0; i < rs.Count; i++)
{
a += rs[i].Value;
}
double d = a / Math.PI;
d = Math.Cos(d) * Math.Sin(a) * (Math.Cos(Math.PI) + 1);
return abstract_logic.Next((int)d + 3) + 3;
}
Лаба 2.
Наформашлепствовал 40+ файлов (Сплошной говнокод), в итоге должна получится система тестирования. В конце данной функцией определяю количество выводимых результатов.
maksim_ovcharik,
22 Декабря 2013
-
+128
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
//...
for (int i = 0; i < size; i++)
{
//...
if (i == size + 2) break;
//...
}
//...
Увидел у соседа в коде. Осторожность никогда не помешает :)
MoN,
21 Декабря 2013
-
+138
- 1
- 2
- 3
- 4
- 5
Control authorizationPanel= iddbd
.Controls.Cast<Control>().Where(x => x.Name == "panelMaxim").FirstOrDefault()
.Controls.Cast<Control>().Where(x => x.Name == "panelInternetB").FirstOrDefault()
.Controls.Cast<Control>().Where(x => x.Name == "panelPassiveIB").FirstOrDefault()
.Controls.Cast<Control>().Where(x => x.Name == "panelPhone").FirstOrDefault();
не, ну а как его еще достать? У нас это квест такой на работе - "Найди контрол" называется
taburetka,
18 Декабря 2013
-
+159
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
var lines = content.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries).ToList();
// remove first and last tags
lines = lines.Skip(2).Take(lines.Count - 3).ToList(); // <------------ ОНО
for (var i = 0; i < lines.Count; i++)
{
// remove one indent from each line
lines[i] = lines[i].Substring(indentation, lines[i].Length - indentation);
}
Покоробило от такого подхода...
Я бы написал for от 1 до lines.Count-1 :)
ddv_demon,
17 Декабря 2013
-
+137
- 1
var romans = "I II III IV".Split(' ');
Rez,
17 Декабря 2013