我需要编写代码来打印出两个字符串中没有出现的所有字母.所以基本上我所做的恰恰相反.打印出两个字符串中出现的所有字母.这是代码.我不知道如何改变它.
s1 = input('Enter a string:\n')
s2 = input('Enter second string:\n')
s1 = set(s1)
s2 = set(s2)
def notInother(s1, s2):
chars = []
for char in (s1,s2):
if char not in s2:
if char not in s1:
chars.append(char)
print(chars)
Run Code Online (Sandbox Code Playgroud) 下面的代码将根据重要性顺序将3个单独的表组合成一个表.我希望改进这一点 - 也许通过使用查询语法来避免中间阶段.是否有不同的(更好的?)方法来实现相同的结果?
var upsert = new List<KeyValuePair<string, string>>() {
new KeyValuePair<string, string>("f1","f1-upsert"),
new KeyValuePair<string, string>("f6","f6-upsert")
};
var fields = new List<KeyValuePair<string, string>>() {
new KeyValuePair<string, string>("f3","f3-fields"),
new KeyValuePair<string, string>("f4","f4-fields"),
new KeyValuePair<string, string>("f6","f6-fields")
};
var server = new List<KeyValuePair<string, string>>() {
new KeyValuePair<string, string>("f1","f1-server"),
new KeyValuePair<string, string>("f2","f2-server"),
new KeyValuePair<string, string>("f5","f5-server")
};
// Order of importance: Upsert > Fields > Server !
var stage = upsert.Concat(fields.Where(f=> !upsert.Any(u=>u.Key==f.Key)));
var final = stage.Concat(server.Where(s=> !stage.Any(j=>j.Key==s.Key))).OrderBy(o=>o.Key);
final.Dump();
Run Code Online (Sandbox Code Playgroud)
LINQPad输出:
Key | Value
------------
f1 | f1-upsert …Run Code Online (Sandbox Code Playgroud) 如果我从 ASP.NET Core 2 Web 应用程序引用 Portable.BouncyCastle 是否可以在 Linux 和 MacOS 上运行?我的 ASP.NET Core 2 应用程序仍然跨平台兼容吗?
我正在进行一项任务,我应该在SQL Server中比较不同的连接方法,即散列连接,合并连接和索引连接.
我在让SQL Server执行索引连接时遇到困难.任何人都可以告诉我如何强制它使用索引连接(使用连接提示或类似),或者只是简单地提供一个简单的查询与SQL服务器使用索引连接方法的连接?
我使用GnuPG和C#来加密带有导入公钥的文件.但是当我尝试加密时,GnuPG用主用户的公钥加密文件.我确信我通过了正确的收件人.
最近,我试图优化此查询
UPDATE Analytics
SET UserID = x.UserID
FROM Analytics z
INNER JOIN UserDetail x ON x.UserGUID = z.UserGUID
Run Code Online (Sandbox Code Playgroud)
估计执行计划在表更新中显示57%,在哈希匹配(聚合)上显示40%.我做了一些窥探,并遇到了JOIN提示的主题.所以我在内部连接和WA-ZHAM中添加了一个LOOP提示!新的执行计划在表更新中显示38%,在索引搜索中显示58%.
所以我即将开始对我的所有问题应用LOOP提示,直到谨慎使我变得更好.经过一些谷歌搜索,我意识到JOIN提示在BOL中没有很好地涵盖.因此...
感谢您的时间和帮助人们!
我正在运行SQL Server 2008 BTW.上面提到的统计数据是ESTIMATED执行计划.
我是 C# 新手,想知道在 list1 = null; 之后 list1 是否真的从内存中删除。
List<string> list1 = new List<string>()
{
"carrot",
"fox",
"explorer"
};
List<string> list2 = new List<string>();
list2.Add(list1[0]);
list2.Add(list1[1]);
list2.Add(list1[2]);
list1 = null;
Run Code Online (Sandbox Code Playgroud)
此代码仅用于文档,在我的实际情况中,list1 对象非常大,我需要将其从内存中删除,并仅继续使用 list2,它是原始 list1 的一小部分。
我假设 list1[0] 和 list2[0] 引用内存中的同一对象,直到我用新值更新 list2[0] ...这是正确的吗?
我想看看是否有可能有一个应用程序可以监控关机意图并需要密码/pin 才能继续关闭电源。理想情况下,我希望在按住电源按钮后关闭电源菜单出现之前使用它,因此在显示带有“关闭电源”和“飞行模式”等选项的菜单之前,用户需要输入密码/PIN。我知道如果不植根设备,这可能是不可能的。只是想看看在没有 root 访问权限的情况下是否可以进行这样的操作。
如果我们有这样的代码:
public class Enemy
{
public int hp;
}
Run Code Online (Sandbox Code Playgroud)
那么一个Enemy对象在 32 位机器中将占用 4 个字节,在 64 位机器中占用 8 个字节(如果我错了,请纠正我)。
如果我们把它改成这样:
public class Enemy
{
public int hp;
public void Attack() {}
}
Run Code Online (Sandbox Code Playgroud)
一个Enemy对象仍然会像以前一样占用相同数量的内存,对吗?
同样的:
public class Enemy
{
private int hp;
public int Hp { get { return hp; } set { hp = value; } }
}
Run Code Online (Sandbox Code Playgroud)
据我所知,属性是函数,但被视为变量,对吗?
所以如果我们这样做:
public class Enemy
{
public int Hp { set; get; }
}
Run Code Online (Sandbox Code Playgroud)
这是否意味着,一个Enemy对象现在根本不占用内存空间?那没有任何意义。
甚至这个,就此而言:
public …Run Code Online (Sandbox Code Playgroud) 我正在尝试快速了解覆盖失败的初始化程序的概念,并且遇到了以下语句:
委派给超类初始值设定项的唯一方法是强制展开可失败的超类初始值设定项的结果。
教科书没有提供任何代码来真正解释其真正含义?有人可以向我解释一下吗?如果附带代码示例,那就更好了!
c# ×4
join ×2
join-hints ×2
memory ×2
.net ×1
.net-core ×1
android ×1
asp.net-core ×1
bouncycastle ×1
function ×1
gnupg ×1
indexing ×1
linq ×1
object ×1
overriding ×1
properties ×1
python ×1
security ×1
sql ×1
sql-server ×1
subclass ×1
superclass ×1
swift ×1
t-sql ×1