public class Garage
{
public Garage()
{
_cars = new List<Car>();
}
private readonly List<Car> _cars;
public void AddCar(string carModel, string color, double speed, int yearOfIssue)
{
var car = new Car(carModel, color, speed, yearOfIssue);
_cars.Add(car);
}
public void DeleteCar(string carModel, string color = "", double speed = 0, int yearOfIssue = 0)
{
var query = from c in _cars
where c.CarModel.StartsWith(carModel)
select c;
if (color != string.Empty)
query = query.Where(cl => cl.Color == color);
if (speed > 0)
query = query.Where(sp => Math.Abs(sp.Speed - speed) < 0.2);
if (yearOfIssue > 0)
query = query.Where(y => y.YearOfIssue == yearOfIssue);
var results = query.Select(f => f).ToList();
foreach (var car in results) _cars.Remove(car);
}
}
public class Car
{
public Car()
{
}
public Car(string carModel, string color, double speed, int yearOfIssue)
{
this._carModel = carModel;
this._color = color;
this._speed = speed;
this._yearOfIssue = yearOfIssue;
}
private string _carModel;
public string CarModel => _carModel;
private string _color;
public string Color => _color;
private double _speed;
public double Speed => _speed;
private int _yearOfIssue;
public int YearOfIssue => _yearOfIssue;
}
services.AddScoped<IUserClaimsPrincipalFactory<ApplicationUser>,
AdditionalUserClaimsPrincipalFactory>();
public class AdditionalUserClaimsPrincipalFactory
: UserClaimsPrincipalFactory<ApplicationUser, IdentityRole>
{
public AdditionalUserClaimsPrincipalFactory(
UserManager<ApplicationUser> userManager,
RoleManager<IdentityRole> roleManager,
IOptions<IdentityOptions> optionsAccessor)
: base(userManager, roleManager, optionsAccessor)
{ }
public override async Task<ClaimsPrincipal> CreateAsync(ApplicationUser user)
{
var principal = await base.CreateAsync(user);
var identity = (ClaimsIdentity)principal.Identity;
var claims = new List<Claim>();
claims.Add(user.IsAdmin ? new Claim(JwtClaimTypes.Role, "admin") : new Claim(JwtClaimTypes.Role, "user"));
identity.AddClaims(claims);
return principal;
}
}
public class ApplicationUser : IdentityUser
{
[PersonalData]
public string Name { get; set; }
[PersonalData]
public DateTime BirthDate { get; set; }
public bool IsAdmin { get; set; }
}
Я написал две программы для поиска в файлах с большим объемом данных. Одна на QT + C++ а другая на C#. Но qt загружает файлы за 5 минут а, С# 30 за минут. В чем может быть причина?
Да и вообще что лучше для работы с файлами большого объема QT или C#? Перечислите пожалуйста достоинства и недостатки обоих.
WebProxy proxy = new WebProxy();
proxy.Address = new Uri("mywebproxyserver.com");
proxy.Credentials = new NetworkCredential("usernameHere", "pa****rdHere"); //These can be replaced by user input
proxy.UseDefaultCredentials = false;
proxy.BypassProxyOnLocal = false; //still use the proxy for local addresses
WebClient client = new WebClient();
client.Proxy = proxy;
string doc = client.DownloadString("http://www.google.com/");
using System;
using System.Linq;
namespace ConsoleApp99
{
internal class Program
{
private static void Main()
{
const int size = 5;
var data = new double[size];
var i = 0;
Console.WriteLine("Enter float or double");
do
{
var parsed = double.TryParse(Console.ReadLine(), out var dp);
if (!parsed) continue;
data[i] = dp;
i++;
} while (i < size);
var x = data.Min();
Console.WriteLine($"min: {x}");
var y = data.Max();
Console.WriteLine($"max: {y}");
Console.WriteLine($"sum x + y: {x + y}");
}
}
}
<br>
server {<br>
listen 80;<br>
server_name example.com *.example.com;<br>
location / { # main location<br>
proxy_pass http://localhost:5000;<br>
proxy_http_version 1.1;<br>
proxy_set_header Upgrade $http_upgrade;<br>
proxy_set_header Connection keep-alive;<br>
proxy_set_header Host $host;<br>
proxy_cache_bypass $http_upgrade;<br>
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>
proxy_set_header X-Forwarded-Proto $scheme;<br>
}<br>
location /blog/ {<br>
proxy_pass http://localhost:5001;<br>
proxy_http_version 1.1;<br>
proxy_set_header Upgrade $http_upgrade;<br>
proxy_set_header Connection keep-alive;<br>
proxy_set_header Host $host;<br>
proxy_cache_bypass $http_upgrade;<br>
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>
proxy_set_header X-Forwarded-Proto $scheme;<br>
}<br>
}<br>