我刚刚开始学习装饰设计模式,不幸的是我不得不通过各种参考来更好地理解装饰器模式,这让我非常困惑.所以,就我的理解而言,我相信这是一个装饰模式
interface IComponent
{
void Operation();
}
class Component : IComponent
{
public void Operation()
{
Console.WriteLine("I am walking ");
}
}
class DecoratorA : IComponent
{
IComponent component;
public DecoratorA(IComponent c)
{
component = c;
}
public void Operation()
{
component.Operation();
Console.WriteLine("in the rain");
}
}
class DecoratorB : IComponent
{
IComponent component;
public DecoratorB(IComponent c)
{
component = c;
}
public void Operation()
{
component.Operation();
Console.WriteLine("with an umbrella");
}
}
class Client
{
static void Main()
{
IComponent …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Perlin噪声发生器来制作地图的瓷砖,但我注意到我的噪音太尖锐,我的意思是,它有太多的高度,没有平坦的地方,它们看起来不像山,岛屿,湖泊或任何东西; 它们似乎太随意而且有很多峰值.
在问题的最后,需要进行修改才能修复它.
该问题的重要代码是:
1D:
def Noise(self, x): # I wrote this noise function but it seems too random
random.seed(x)
number = random.random()
if number < 0.5:
final = 0 - number * 2
elif number > 0.5:
final = number * 2
return final
def Noise(self, x): # I found this noise function on the internet
x = (x<<13) ^ x
return ( 1.0 - ( (x * (x * x * 15731 + 789221) + 1376312589) & 0x7fffffff) …Run Code Online (Sandbox Code Playgroud) 在我的 ASP.NET Core 2.2 MVC 服务器中,我想添加一个文件夹来存储静态文件。我找到了以下代码来执行该操作:
app.UseStaticFiles(new StaticFileOptions {
FileProvider = new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(), "StaticFiles")),
RequestPath = "/StaticFiles"
});
Run Code Online (Sandbox Code Playgroud)
在我的电脑中,该项目位于"C:\Users\MyUsername\source\repos\WebApplication1\WebApplication1",在同一目录中有一个名为“StaticFiles”的Startup.cs文件夹和一个写入上述代码的文件。
但是当我执行代码时出现以下错误:
'System.IO.DirectoryNotFoundException' in Microsoft.Extensions.FileProviders.Physical.dll C:\Program Files\IIS Express\StaticFiles\
Run Code Online (Sandbox Code Playgroud)
在Directory.GetCurrentDirectory()正在恢复"C:\\Program Files\\IIS Express",而不是"C:\Users\MyUsername\source\repos\WebApplication1\WebApplication1"。我怎样才能得到正确的方向?
我找到了3种检查方法,但我不知道哪种方法最好:
x = ['Bla', 'Bla', 'Bla', 'etc']
if isinstance(a, list): print('Perfect!')
if type(a) is list: print('Incredible!')
if type(a) == type([]): print('Awesome!')
Run Code Online (Sandbox Code Playgroud)
哪个更好?
另外,我可以使用这些方法来检查x是字符串,元组,字典,整数,浮点数等吗?如果这是可能的,在前两种方法中我是否必须将列表转换为元组,字符串,字典,整数,浮点数等(不是?),但在第三种方法中?我必须使用(),{},'',以及更多的int和float?
我知道这个问题,但它没有回答我当前的问题。
我知道当前行给了我下一个按键:
$Host.UI.RawUI.ReadKey().Character
Run Code Online (Sandbox Code Playgroud)
例如,如果我按1,我会得到1。
但那是一个字符串(嗯,实际上是一个字符),我想要一个整数。
我尝试:
[int]$Host.UI.RawUI.ReadKey().Character
Run Code Online (Sandbox Code Playgroud)
和:
$Host.UI.RawUI.ReadKey().Virtualkeycode
Run Code Online (Sandbox Code Playgroud)
但是在这两行中,如果您按1,则会得到49。
我知道我可以简单地做:
[int]$Host.UI.RawUI.ReadKey().Character - 48
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有更好的方法来做到这一点。例如,如果我想同时获取字母和数字,则使用-48会有点困难,因为我需要使用一些条件块。
所以,我的问题是:有没有更好的方法将按下的键(数字)作为整数而不是[int]$Host.UI.RawUI.ReadKey().Character - 48?
我正在尝试使用我在 Internet 上找到的一些代码(C#,我认为是 .NET),但我的 Visual Studio 2017 说它找不到System.Web.Services.dll.
实际上,我转到了参考选项卡,但没有找到它。另外,我检查过C:\Program Files (x86)\Microsoft SDKs\UWPNuGetPackages\Microsoft.NETCore.UniversalWindowsPlatform\6.1.9\ref\uap10.0.15138,但什么也找不到。
这是我第一次使用这些技术(C#、.NET 和 UWP...),因此我不确定是否缺少一些导入和使用这些技术的步骤dll。
我最近发现了这个问题:Does Python have a ternary conditional operator? 并发现称为三元条件的东西a = b if c == d else e。
我的问题:有一种方法可以使三元条件与elif? 类似的东西a = b if c == d elif e == f i else j。
c# ×3
python ×3
.net ×1
asp.net-core ×1
dictionary ×1
list ×1
perlin-noise ×1
powershell ×1
random ×1
tuples ×1
variables ×1